A solver for the classic puzzle, as a programming project for CIS 211 at University of Oregon.
The project will have two phases. In the first phase we implement constraint propagation to solve simple puzzles. In the second phase we will add back-tracking search to solve harder puzzles.
We will use a model-view-controller organization to associate a graphical display with the game.