A General Constraint Satisfaction Problem Solver using Backtracking, Forward Checking, and AC3 algorithms. Included are Minimum Remaining Values and Degree heuristics.
The same algorithm can complete both sudoku and the graph coloring problem given the constraints.
https://docs.google.com/document/d/1SQna0kNjJIpoQXjlgvk0aLLl3Tw29b6FTVVwNjwV48w/edit?usp=sharing