sudoku solver in c++