We discuss four variants of the graph colouring problem, and present algorithms for solving them. The problems are k-Colourability, Max Ind k-COL, Max Val k-COL, and, finally, Max k-COL, which is the unweighted case of the Max k-Cut problem. The algorithms are based on the idea of partitioning the domain of the problems into disjoint subsets, and then considering all possible instances were the variables are restricted to values from these partitions. If a pair of variables have been restricted to different partitions, then the constraint between them is always satisfied since the only allowed constraint is disequality.