Sudoku solver built as class exercise