Project assignment for Algorithms class, solving Sudoku puzzles with constraint satisfaction and backtrack search