how to build a sudoku solver (1)