Note: this is not a duplicate of the question How to remove vertices from a graph that are not coverable by cliques?. That question is asking how we can remove vertices that are not in a clique, and this question is asking how we can remove as many vertices as possible (regardless of whether they are in cliques or not) while ensuring that specific vertices are still covered by cliques.
Given a set of specific vertices V* in a graph, how can I remove as many vertices from the graph as possible while still ensuring that the vertices in V* are each covered by a clique of size k?
Here is a toy example and solution:
The vertices with a white "x" are in V*. k = 3. The vertices that are light orange are the vertices that should be removed from the graph.
So far, I have tried finding a clique for each vertex in V*, and then removing all vertices form the graph that are not in those cliques, but this takes a long time, when the graph is large. I am wondering if there is a faster way.