This assignment generates and solves instances of the popular Japanese
puzzle game Sudoku. Solving is a much easier problem and involves
a conventional backtracking search that is suitable for first-year
students. Generating a puzzle is both more complicated and more
time-consuming.
Several algorithms for generating puzzles can be found on the web.