I\'m struggling with a backtracking algorithm to determine wether a Sudoku has a unique solution or if it has multiple Solutions. Here\'s the backtracking code i use:
The reset must be inside the for loop and after the if solve condition
for (int val = 1; val <= 9; ++val) {
if (legal(i,j,val,cells)) {
cells[i][j] = val;
if (solve(i+1,j,cells))
return true;
cells[i][j] = 0; // reset on backtrack
}
}