Guessing - Last Resort of Solving Sudoku
Guessing, Brute Force, Guess-and-check, nishio (Japanese name), ConflictElimination:
Last resort to solve a Sudoku. Try each candidate value for a blank square. If the tried number for a blank/empty square leads to a solution, you find a solution; if the tried number of a blank/empty square leads to a conflict, you can safely remove this number from the blank/empty square.
Candidate Numbers (or Candidate Values) of an blank/empty square is a list of possible values or candidates for this blank/empty cell.
ConflictElimination: Try each candidate value for a blank square. If the tried number of a blank/empty square leads to a conflict, you can safely remove this number from the blank/empty square.
A conflict occurs when a blank/empty square has empty candidate values.
Note that when our solver (solver used in this website) checks whether a guess will lead to a conflict, only basic methods (OneChoice, Elimination) and advanced methods (Interaction, Subset, SubsetPosition, X-Wing, XY-Wing, XYZ-Wing) are used. That being said, we do not continuously using the guessing method.
Exhaustive search in our solver means trying every possible number assignments for blank squares whose value not determined yet.
R1C3 = 8 leads to a confliction where R2C6 has empty candidate values. How does it lead to a confliction? Here is why:
→ R1C4 = 1
→ R4C4 = 4
→ R4C7 = 1
→ R5C9 = 4
→ R3C9 = 1
→ R2C8 = 4
→ R2C5 = 3
→ R2C6 = ∅
Remove number 8 from R1C3's candidate values. We get R1C3 = 1.
How to find them?
- Use basic methods to solve the Sudoku until no further blank/empty square can be inferred to be a number using basic methods (Sole Candidate and Hidden Single).
- Write down the candidate values for every blank/empty square.
- Apply interaction methods, Subset, SubsetPosition, X-Wing, XY-Wing methods if necessary.
- Try a candidate value for a blank/empty square. If it leads to a solution, great! Otherwise, if it leads to a conflict (i.e., some blank square has no candidate value), it is a wrong guess. And we can safely remove the guessed number from the blank/empty square.