Sudoku solver that uses a recursive backtracking algorithm