English

Platon Sudoku · Sudoku Study

XY-Chain · Step-by-step example

Each chain cell has exactly two candidates. Neighboring cells see each other and share the link digit; the two ends share the target digit. Remove the shared endpoint digit from a cell that sees both ends.

This course is adapted from Platon Sudoku App. Read the complete example here, then continue learning and practising in the app.

View on Google Play

Recognize the pattern

Each chain cell has exactly two candidates. Neighboring cells see each other and share the link digit; the two ends share the target digit.

How to find it

Trace connected bivalue cells, switching to the other candidate in each cell, until the end carries the starting target digit.

What it allows

Remove the shared endpoint digit from a cell that sees both ends.

Avoid the mix-up

A two-candidate cell with an extra pencil mark is invalid; every link and both endpoint sight lines must be checked.

Step-by-step example · Short chain

This example starts from a saved intermediate position. Its candidates include earlier logical eliminations; they are not fresh automatic notes.

Blue: evidence. Green: conclusion. Crossed-out digits: eliminated candidates. R1C1 means row 1, column 1.

Step 1 · Establish the bivalue chain

Every chain cell is bivalue: R5C8={4, 7}, R5C4={3, 7}, R6C6={2, 3}, R6C5={2, 4}. Inside each cell, the two candidates have a strong relationship—if one is false, the other is forced true. Between different cells, linked candidates with the same digit are mutually exclusive. The two endpoints R5C8=4, R6C5=4 share candidate 4.

Every chain cell is bivalue: R5C8={4, 7}, R5C4={3, 7}, R6C6={2, 3}, R6C5={2, 4}. Inside each cell, the two candidates have a strong relationship—if one is false, the other is forced true. Between different cells, linked candidates with the same digit are mutually exclusive. The two endpoints R5C8=4, R6C5=4 share candidate 4.
Every chain cell is bivalue: R5C8={4, 7}, R5C4={3, 7}, R6C6={2, 3}, R6C5={2, 4}. Inside each cell, the two candidates have a strong relationship—if one is false, the other is forced true. Between different cells, linked candidates with the same digit are mutually exclusive. The two endpoints R5C8=4, R6C5=4 share candidate 4.
Step 2 · Reasoning

Branch 1: suppose R5C8=4 is false.

Branch 1: suppose R5C8=4 is false.
Branch 1: suppose R5C8=4 is false.
Step 3 · Reasoning

R5C8=4 is false. R5C8 now has only R5C8=7 left, so it must be true.

R5C8=4 is false. R5C8 now has only R5C8=7 left, so it must be true.
R5C8=4 is false. R5C8 now has only R5C8=7 left, so it must be true.
Step 4 · Reasoning

Case 1: R5C8 is the bivalue cell R5C8=4, R5C8=7. With its other candidate false, R5C8=7 is forced true under the current assumption. Across cells, it is mutually exclusive with R5C4=7, so cross out those conflicts.

Case 1: R5C8 is the bivalue cell R5C8=4, R5C8=7. With its other candidate false, R5C8=7 is forced true under the current assumption. Across cells, it is mutually exclusive with R5C4=7, so cross out those conflicts.
Case 1: R5C8 is the bivalue cell R5C8=4, R5C8=7. With its other candidate false, R5C8=7 is forced true under the current assumption. Across cells, it is mutually exclusive with R5C4=7, so cross out those conflicts.
Step 5 · Reasoning

R5C4=7 is false. R5C4 now has only R5C4=3 left, so it must be true.

R5C4=7 is false. R5C4 now has only R5C4=3 left, so it must be true.
R5C4=7 is false. R5C4 now has only R5C4=3 left, so it must be true.
Step 6 · Reasoning

R5C4 is the next bivalue cell R5C4=3, R5C4=7. With its other candidate false, R5C4=3 is forced true under the current assumption. Across cells, it is mutually exclusive with R6C6=3, so cross out those conflicts.

R5C4 is the next bivalue cell R5C4=3, R5C4=7. With its other candidate false, R5C4=3 is forced true under the current assumption. Across cells, it is mutually exclusive with R6C6=3, so cross out those conflicts.
R5C4 is the next bivalue cell R5C4=3, R5C4=7. With its other candidate false, R5C4=3 is forced true under the current assumption. Across cells, it is mutually exclusive with R6C6=3, so cross out those conflicts.
Step 7 · Reasoning

R6C6=3 is false. R6C6 now has only R6C6=2 left, so it must be true.

R6C6=3 is false. R6C6 now has only R6C6=2 left, so it must be true.
R6C6=3 is false. R6C6 now has only R6C6=2 left, so it must be true.
Step 8 · Reasoning

R6C6 is the next bivalue cell R6C6=2, R6C6=3. With its other candidate false, R6C6=2 is forced true under the current assumption. Across cells, it is mutually exclusive with R6C5=2, so cross out those conflicts.

R6C6 is the next bivalue cell R6C6=2, R6C6=3. With its other candidate false, R6C6=2 is forced true under the current assumption. Across cells, it is mutually exclusive with R6C5=2, so cross out those conflicts.
R6C6 is the next bivalue cell R6C6=2, R6C6=3. With its other candidate false, R6C6=2 is forced true under the current assumption. Across cells, it is mutually exclusive with R6C5=2, so cross out those conflicts.
Step 9 · Reasoning

At the endpoint bivalue cell R6C5 (R6C5=2, R6C5=4), R6C5=2 is false, so R6C5=4 is forced true under the current assumption. This endpoint excludes the targets R6C8=4, R6C9=4.

At the endpoint bivalue cell R6C5 (R6C5=2, R6C5=4), R6C5=2 is false, so R6C5=4 is forced true under the current assumption. This endpoint excludes the targets R6C8=4, R6C9=4.
At the endpoint bivalue cell R6C5 (R6C5=2, R6C5=4), R6C5=2 is false, so R6C5=4 is forced true under the current assumption. This endpoint excludes the targets R6C8=4, R6C9=4.
Step 10 · Withdraw the previous rectangle filling

Withdraw this assumption and its consequences. Return to the unchanged candidate snapshot before examining the next possibility.

Withdraw this assumption and its consequences. Return to the unchanged candidate snapshot before examining the next possibility.
Withdraw this assumption and its consequences. Return to the unchanged candidate snapshot before examining the next possibility.
Step 11 · Reasoning

Assume the first endpoint R5C8=4 is true in its bivalue cell R5C8 (R5C8=4, R5C8=7). Within the cell it excludes the other candidate; between cells it excludes the visible conflicting candidates R5C8=7, R6C8=4, R6C9=4.

Assume the first endpoint R5C8=4 is true in its bivalue cell R5C8 (R5C8=4, R5C8=7). Within the cell it excludes the other candidate; between cells it excludes the visible conflicting candidates R5C8=7, R6C8=4, R6C9=4.
Assume the first endpoint R5C8=4 is true in its bivalue cell R5C8 (R5C8=4, R5C8=7). Within the cell it excludes the other candidate; between cells it excludes the visible conflicting candidates R5C8=7, R6C8=4, R6C9=4.
Step 12 · Conclusion

The two endpoint cases exhaust all possibilities and both cross out R6C8=4, R6C9=4. Withdraw the temporary states, then remove them.

The two endpoint cases exhaust all possibilities and both cross out R6C8=4, R6C9=4. Withdraw the temporary states, then remove them.
The two endpoint cases exhaust all possibilities and both cross out R6C8=4, R6C9=4. Withdraw the temporary states, then remove them.

What it allows

The two endpoint cases exhaust all possibilities and both cross out R6C8=4, R6C9=4. Withdraw the temporary states, then remove them.

XY-Chain · Remove the shared endpoint digit from a cell that sees both ends.
XY-Chain · Remove the shared endpoint digit from a cell that sees both ends.

Step-by-step example · Medium chain

This example starts from a saved intermediate position. Its candidates include earlier logical eliminations; they are not fresh automatic notes.

Blue: evidence. Green: conclusion. Crossed-out digits: eliminated candidates. R1C1 means row 1, column 1.

Step 1 · Establish the bivalue chain

Every chain cell is bivalue: R1C4={3, 8}, R1C8={6, 8}, R7C8={2, 6}, R7C6={2, 4}, R7C5={3, 4}. Inside each cell, the two candidates have a strong relationship—if one is false, the other is forced true. Between different cells, linked candidates with the same digit are mutually exclusive. The two endpoints R1C4=3, R7C5=3 share candidate 3.

Every chain cell is bivalue: R1C4={3, 8}, R1C8={6, 8}, R7C8={2, 6}, R7C6={2, 4}, R7C5={3, 4}. Inside each cell, the two candidates have a strong relationship—if one is false, the other is forced true. Between different cells, linked candidates with the same digit are mutually exclusive. The two endpoints R1C4=3, R7C5=3 share candidate 3.
Every chain cell is bivalue: R1C4={3, 8}, R1C8={6, 8}, R7C8={2, 6}, R7C6={2, 4}, R7C5={3, 4}. Inside each cell, the two candidates have a strong relationship—if one is false, the other is forced true. Between different cells, linked candidates with the same digit are mutually exclusive. The two endpoints R1C4=3, R7C5=3 share candidate 3.
Step 2 · Reasoning

Branch 1: suppose R1C4=3 is false.

Branch 1: suppose R1C4=3 is false.
Branch 1: suppose R1C4=3 is false.
Step 3 · Reasoning

R1C4=3 is false. R1C4 now has only R1C4=8 left, so it must be true.

R1C4=3 is false. R1C4 now has only R1C4=8 left, so it must be true.
R1C4=3 is false. R1C4 now has only R1C4=8 left, so it must be true.
Step 4 · Reasoning

Case 1: R1C4 is the bivalue cell R1C4=3, R1C4=8. With its other candidate false, R1C4=8 is forced true under the current assumption. Across cells, it is mutually exclusive with R1C8=8, so cross out those conflicts.

Case 1: R1C4 is the bivalue cell R1C4=3, R1C4=8. With its other candidate false, R1C4=8 is forced true under the current assumption. Across cells, it is mutually exclusive with R1C8=8, so cross out those conflicts.
Case 1: R1C4 is the bivalue cell R1C4=3, R1C4=8. With its other candidate false, R1C4=8 is forced true under the current assumption. Across cells, it is mutually exclusive with R1C8=8, so cross out those conflicts.
Step 5 · Reasoning

R1C8=8 is false. R1C8 now has only R1C8=6 left, so it must be true.

R1C8=8 is false. R1C8 now has only R1C8=6 left, so it must be true.
R1C8=8 is false. R1C8 now has only R1C8=6 left, so it must be true.
Step 6 · Reasoning

R1C8 is the next bivalue cell R1C8=6, R1C8=8. With its other candidate false, R1C8=6 is forced true under the current assumption. Across cells, it is mutually exclusive with R7C8=6, so cross out those conflicts.

R1C8 is the next bivalue cell R1C8=6, R1C8=8. With its other candidate false, R1C8=6 is forced true under the current assumption. Across cells, it is mutually exclusive with R7C8=6, so cross out those conflicts.
R1C8 is the next bivalue cell R1C8=6, R1C8=8. With its other candidate false, R1C8=6 is forced true under the current assumption. Across cells, it is mutually exclusive with R7C8=6, so cross out those conflicts.
Step 7 · Reasoning

R7C8=6 is false. R7C8 now has only R7C8=2 left, so it must be true.

R7C8=6 is false. R7C8 now has only R7C8=2 left, so it must be true.
R7C8=6 is false. R7C8 now has only R7C8=2 left, so it must be true.
Step 8 · Reasoning

R7C8 is the next bivalue cell R7C8=2, R7C8=6. With its other candidate false, R7C8=2 is forced true under the current assumption. Across cells, it is mutually exclusive with R7C6=2, so cross out those conflicts.

R7C8 is the next bivalue cell R7C8=2, R7C8=6. With its other candidate false, R7C8=2 is forced true under the current assumption. Across cells, it is mutually exclusive with R7C6=2, so cross out those conflicts.
R7C8 is the next bivalue cell R7C8=2, R7C8=6. With its other candidate false, R7C8=2 is forced true under the current assumption. Across cells, it is mutually exclusive with R7C6=2, so cross out those conflicts.
Step 9 · Reasoning

R7C6=2 is false. R7C6 now has only R7C6=4 left, so it must be true.

R7C6=2 is false. R7C6 now has only R7C6=4 left, so it must be true.
R7C6=2 is false. R7C6 now has only R7C6=4 left, so it must be true.
Step 10 · Reasoning

R7C6 is the next bivalue cell R7C6=2, R7C6=4. With its other candidate false, R7C6=4 is forced true under the current assumption. Across cells, it is mutually exclusive with R7C5=4, so cross out those conflicts.

R7C6 is the next bivalue cell R7C6=2, R7C6=4. With its other candidate false, R7C6=4 is forced true under the current assumption. Across cells, it is mutually exclusive with R7C5=4, so cross out those conflicts.
R7C6 is the next bivalue cell R7C6=2, R7C6=4. With its other candidate false, R7C6=4 is forced true under the current assumption. Across cells, it is mutually exclusive with R7C5=4, so cross out those conflicts.
Step 11 · Reasoning

At the endpoint bivalue cell R7C5 (R7C5=3, R7C5=4), R7C5=4 is false, so R7C5=3 is forced true under the current assumption. This endpoint excludes the targets R1C5=3, R8C4=3.

At the endpoint bivalue cell R7C5 (R7C5=3, R7C5=4), R7C5=4 is false, so R7C5=3 is forced true under the current assumption. This endpoint excludes the targets R1C5=3, R8C4=3.
At the endpoint bivalue cell R7C5 (R7C5=3, R7C5=4), R7C5=4 is false, so R7C5=3 is forced true under the current assumption. This endpoint excludes the targets R1C5=3, R8C4=3.
Step 12 · Withdraw the previous rectangle filling

Withdraw this assumption and its consequences. Return to the unchanged candidate snapshot before examining the next possibility.

Withdraw this assumption and its consequences. Return to the unchanged candidate snapshot before examining the next possibility.
Withdraw this assumption and its consequences. Return to the unchanged candidate snapshot before examining the next possibility.
Step 13 · Reasoning

Assume the first endpoint R1C4=3 is true in its bivalue cell R1C4 (R1C4=3, R1C4=8). Within the cell it excludes the other candidate; between cells it excludes the visible conflicting candidates R1C4=8, R1C5=3, R8C4=3.

Assume the first endpoint R1C4=3 is true in its bivalue cell R1C4 (R1C4=3, R1C4=8). Within the cell it excludes the other candidate; between cells it excludes the visible conflicting candidates R1C4=8, R1C5=3, R8C4=3.
Assume the first endpoint R1C4=3 is true in its bivalue cell R1C4 (R1C4=3, R1C4=8). Within the cell it excludes the other candidate; between cells it excludes the visible conflicting candidates R1C4=8, R1C5=3, R8C4=3.
Step 14 · Conclusion

The two endpoint cases exhaust all possibilities and both cross out R1C5=3, R8C4=3. Withdraw the temporary states, then remove them.

The two endpoint cases exhaust all possibilities and both cross out R1C5=3, R8C4=3. Withdraw the temporary states, then remove them.
The two endpoint cases exhaust all possibilities and both cross out R1C5=3, R8C4=3. Withdraw the temporary states, then remove them.

What it allows

The two endpoint cases exhaust all possibilities and both cross out R1C5=3, R8C4=3. Withdraw the temporary states, then remove them.

XY-Chain · Remove the shared endpoint digit from a cell that sees both ends.
XY-Chain · Remove the shared endpoint digit from a cell that sees both ends.

Step-by-step example · Long chain

This example starts from a saved intermediate position. Its candidates include earlier logical eliminations; they are not fresh automatic notes.

Blue: evidence. Green: conclusion. Crossed-out digits: eliminated candidates. R1C1 means row 1, column 1.

Step 1 · Establish the bivalue chain

Every chain cell is bivalue: R1C3={1, 9}, R1C4={7, 9}, R2C4={7, 9}, R2C8={5, 9}, R2C5={5, 6}, R2C6={1, 6}, R2C9={1, 7}, R3C9={1, 7}. Inside each cell, the two candidates have a strong relationship—if one is false, the other is forced true. Between different cells, linked candidates with the same digit are mutually exclusive. The two endpoints R1C3=1, R3C9=1 share candidate 1.

Every chain cell is bivalue: R1C3={1, 9}, R1C4={7, 9}, R2C4={7, 9}, R2C8={5, 9}, R2C5={5, 6}, R2C6={1, 6}, R2C9={1, 7}, R3C9={1, 7}. Inside each cell, the two candidates have a strong relationship—if one is false, the other is forced true. Between different cells, linked candidates with the same digit are mutually exclusive. The two endpoints R1C3=1, R3C9=1 share candidate 1.
Every chain cell is bivalue: R1C3={1, 9}, R1C4={7, 9}, R2C4={7, 9}, R2C8={5, 9}, R2C5={5, 6}, R2C6={1, 6}, R2C9={1, 7}, R3C9={1, 7}. Inside each cell, the two candidates have a strong relationship—if one is false, the other is forced true. Between different cells, linked candidates with the same digit are mutually exclusive. The two endpoints R1C3=1, R3C9=1 share candidate 1.
Step 2 · Reasoning

Branch 1: suppose R1C3=1 is false.

Branch 1: suppose R1C3=1 is false.
Branch 1: suppose R1C3=1 is false.
Step 3 · Reasoning

R1C3=1 is false. R1C3 now has only R1C3=9 left, so it must be true.

R1C3=1 is false. R1C3 now has only R1C3=9 left, so it must be true.
R1C3=1 is false. R1C3 now has only R1C3=9 left, so it must be true.
Step 4 · Reasoning

Case 1: R1C3 is the bivalue cell R1C3=1, R1C3=9. With its other candidate false, R1C3=9 is forced true under the current assumption. Across cells, it is mutually exclusive with R1C4=9, so cross out those conflicts.

Case 1: R1C3 is the bivalue cell R1C3=1, R1C3=9. With its other candidate false, R1C3=9 is forced true under the current assumption. Across cells, it is mutually exclusive with R1C4=9, so cross out those conflicts.
Case 1: R1C3 is the bivalue cell R1C3=1, R1C3=9. With its other candidate false, R1C3=9 is forced true under the current assumption. Across cells, it is mutually exclusive with R1C4=9, so cross out those conflicts.
Step 5 · Reasoning

R1C4=9 is false. R1C4 now has only R1C4=7 left, so it must be true.

R1C4=9 is false. R1C4 now has only R1C4=7 left, so it must be true.
R1C4=9 is false. R1C4 now has only R1C4=7 left, so it must be true.
Step 6 · Reasoning

R1C4 is the next bivalue cell R1C4=7, R1C4=9. With its other candidate false, R1C4=7 is forced true under the current assumption. Across cells, it is mutually exclusive with R2C4=7, so cross out those conflicts.

R1C4 is the next bivalue cell R1C4=7, R1C4=9. With its other candidate false, R1C4=7 is forced true under the current assumption. Across cells, it is mutually exclusive with R2C4=7, so cross out those conflicts.
R1C4 is the next bivalue cell R1C4=7, R1C4=9. With its other candidate false, R1C4=7 is forced true under the current assumption. Across cells, it is mutually exclusive with R2C4=7, so cross out those conflicts.
Step 7 · Reasoning

R2C4=7 is false. R2C4 now has only R2C4=9 left, so it must be true.

R2C4=7 is false. R2C4 now has only R2C4=9 left, so it must be true.
R2C4=7 is false. R2C4 now has only R2C4=9 left, so it must be true.
Step 8 · Reasoning

R2C4 is the next bivalue cell R2C4=7, R2C4=9. With its other candidate false, R2C4=9 is forced true under the current assumption. Across cells, it is mutually exclusive with R2C8=9, so cross out those conflicts.

R2C4 is the next bivalue cell R2C4=7, R2C4=9. With its other candidate false, R2C4=9 is forced true under the current assumption. Across cells, it is mutually exclusive with R2C8=9, so cross out those conflicts.
R2C4 is the next bivalue cell R2C4=7, R2C4=9. With its other candidate false, R2C4=9 is forced true under the current assumption. Across cells, it is mutually exclusive with R2C8=9, so cross out those conflicts.
Step 9 · Reasoning

R2C8=9 is false. R2C8 now has only R2C8=5 left, so it must be true.

R2C8=9 is false. R2C8 now has only R2C8=5 left, so it must be true.
R2C8=9 is false. R2C8 now has only R2C8=5 left, so it must be true.
Step 10 · Reasoning

R2C8 is the next bivalue cell R2C8=5, R2C8=9. With its other candidate false, R2C8=5 is forced true under the current assumption. Across cells, it is mutually exclusive with R2C5=5, so cross out those conflicts.

R2C8 is the next bivalue cell R2C8=5, R2C8=9. With its other candidate false, R2C8=5 is forced true under the current assumption. Across cells, it is mutually exclusive with R2C5=5, so cross out those conflicts.
R2C8 is the next bivalue cell R2C8=5, R2C8=9. With its other candidate false, R2C8=5 is forced true under the current assumption. Across cells, it is mutually exclusive with R2C5=5, so cross out those conflicts.
Step 11 · Reasoning

R2C5=5 is false. R2C5 now has only R2C5=6 left, so it must be true.

R2C5=5 is false. R2C5 now has only R2C5=6 left, so it must be true.
R2C5=5 is false. R2C5 now has only R2C5=6 left, so it must be true.
Step 12 · Reasoning

R2C5 is the next bivalue cell R2C5=5, R2C5=6. With its other candidate false, R2C5=6 is forced true under the current assumption. Across cells, it is mutually exclusive with R2C6=6, so cross out those conflicts.

R2C5 is the next bivalue cell R2C5=5, R2C5=6. With its other candidate false, R2C5=6 is forced true under the current assumption. Across cells, it is mutually exclusive with R2C6=6, so cross out those conflicts.
R2C5 is the next bivalue cell R2C5=5, R2C5=6. With its other candidate false, R2C5=6 is forced true under the current assumption. Across cells, it is mutually exclusive with R2C6=6, so cross out those conflicts.
Step 13 · Reasoning

R2C6=6 is false. R2C6 now has only R2C6=1 left, so it must be true.

R2C6=6 is false. R2C6 now has only R2C6=1 left, so it must be true.
R2C6=6 is false. R2C6 now has only R2C6=1 left, so it must be true.
Step 14 · Reasoning

R2C6 is the next bivalue cell R2C6=1, R2C6=6. With its other candidate false, R2C6=1 is forced true under the current assumption. Across cells, it is mutually exclusive with R2C9=1, so cross out those conflicts.

R2C6 is the next bivalue cell R2C6=1, R2C6=6. With its other candidate false, R2C6=1 is forced true under the current assumption. Across cells, it is mutually exclusive with R2C9=1, so cross out those conflicts.
R2C6 is the next bivalue cell R2C6=1, R2C6=6. With its other candidate false, R2C6=1 is forced true under the current assumption. Across cells, it is mutually exclusive with R2C9=1, so cross out those conflicts.
Step 15 · Reasoning

R2C9=1 is false. R2C9 now has only R2C9=7 left, so it must be true.

R2C9=1 is false. R2C9 now has only R2C9=7 left, so it must be true.
R2C9=1 is false. R2C9 now has only R2C9=7 left, so it must be true.
Step 16 · Reasoning

R2C9 is the next bivalue cell R2C9=1, R2C9=7. With its other candidate false, R2C9=7 is forced true under the current assumption. Across cells, it is mutually exclusive with R3C9=7, so cross out those conflicts.

R2C9 is the next bivalue cell R2C9=1, R2C9=7. With its other candidate false, R2C9=7 is forced true under the current assumption. Across cells, it is mutually exclusive with R3C9=7, so cross out those conflicts.
R2C9 is the next bivalue cell R2C9=1, R2C9=7. With its other candidate false, R2C9=7 is forced true under the current assumption. Across cells, it is mutually exclusive with R3C9=7, so cross out those conflicts.
Step 17 · Reasoning

At the endpoint bivalue cell R3C9 (R3C9=1, R3C9=7), R3C9=7 is false, so R3C9=1 is forced true under the current assumption. This endpoint excludes the targets R3C1=1, R3C2=1, R3C3=1.

At the endpoint bivalue cell R3C9 (R3C9=1, R3C9=7), R3C9=7 is false, so R3C9=1 is forced true under the current assumption. This endpoint excludes the targets R3C1=1, R3C2=1, R3C3=1.
At the endpoint bivalue cell R3C9 (R3C9=1, R3C9=7), R3C9=7 is false, so R3C9=1 is forced true under the current assumption. This endpoint excludes the targets R3C1=1, R3C2=1, R3C3=1.
Step 18 · Withdraw the previous rectangle filling

Withdraw this assumption and its consequences. Return to the unchanged candidate snapshot before examining the next possibility.

Withdraw this assumption and its consequences. Return to the unchanged candidate snapshot before examining the next possibility.
Withdraw this assumption and its consequences. Return to the unchanged candidate snapshot before examining the next possibility.
Step 19 · Reasoning

Assume the first endpoint R1C3=1 is true in its bivalue cell R1C3 (R1C3=1, R1C3=9). Within the cell it excludes the other candidate; between cells it excludes the visible conflicting candidates R1C3=9, R3C1=1, R3C2=1, R3C3=1.

Assume the first endpoint R1C3=1 is true in its bivalue cell R1C3 (R1C3=1, R1C3=9). Within the cell it excludes the other candidate; between cells it excludes the visible conflicting candidates R1C3=9, R3C1=1, R3C2=1, R3C3=1.
Assume the first endpoint R1C3=1 is true in its bivalue cell R1C3 (R1C3=1, R1C3=9). Within the cell it excludes the other candidate; between cells it excludes the visible conflicting candidates R1C3=9, R3C1=1, R3C2=1, R3C3=1.
Step 20 · Conclusion

The two endpoint cases exhaust all possibilities and both cross out R3C1=1, R3C2=1, R3C3=1. Withdraw the temporary states, then remove them.

The two endpoint cases exhaust all possibilities and both cross out R3C1=1, R3C2=1, R3C3=1. Withdraw the temporary states, then remove them.
The two endpoint cases exhaust all possibilities and both cross out R3C1=1, R3C2=1, R3C3=1. Withdraw the temporary states, then remove them.

What it allows

The two endpoint cases exhaust all possibilities and both cross out R3C1=1, R3C2=1, R3C3=1. Withdraw the temporary states, then remove them.

XY-Chain · Remove the shared endpoint digit from a cell that sees both ends.
XY-Chain · Remove the shared endpoint digit from a cell that sees both ends.

Practice

This course is adapted from Platon Sudoku App. Read the complete example here, then continue learning and practising in the app.

View on Google Play