Systematically assign values to variables under constraints, backtracking whenever a conflict occurs.
Explain code with DocComment! Try out your own code!