In this question, we consider modifications of the 3-Colouring problem where we bound the number of vertices that can receive a particular colour.
(a) First, consider the following version. As input, you receive a graph G = (V, E) with |V | ≥ 10. The goal is to decide if G admits a 3-colouring χ : V → {1, 2, 3} such that the colour 1 is used only 10 times (that is, χ labels the colour 1 on only 10 vertices). Give a polynomial-time algorithm for this version of 3-Colouring, and prove that your algorithm is correct.
(b) Consider the following modification of the 3-Colouring problem. As input, you receive a graph G = (V, E) such that the number of vertices n = |V | is divisible by 3. The goal is to decide if G admits a 3-colouring χ : V → {1, 2, 3} such that the number of vertices labelled by each colour is exactly n/3 (in other words, every colour is used an equal number of times). Prove that this problem is NP-Complete