English

Platon Sudoku · Sudoku Study

Nice Loop / AIC · Step-by-step example

An alternating inference chain connects candidate states with verified strong and weak links. Open and closed chains have distinct conclusions. Use the verified outcome: remove a candidate or place a digit when its opposite state is impossible.

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

An alternating inference chain connects candidate states with verified strong and weak links. Open and closed chains have distinct conclusions.

How to find it

Trace each implication from one end, recording strong and weak transitions and whether the chain closes or contradicts an endpoint.

What it allows

Use the verified outcome: remove a candidate or place a digit when its opposite state is impossible.

Avoid the mix-up

A strong link says: if one end is false, the other is true. A weak link says: if one end is true, the other is false. Do not reverse these implications; check the endpoint relation before concluding.

Step-by-step example · Discontinuous · eliminate

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 · Read the AIC before following it

This Nice Loop / AIC lesson uses HoDoKu's ordinary candidate-node family: discontinuous eliminations and placements, open Type 1 and Type 2 chains, and continuous loops. Start at R1C6=1 is true and inspect R1C6=1. In column 6, row 2, column 9, row 7, box 5, row 5, column 1, row 9, column 8, a solid link means at least one end is true; a dashed link means both ends cannot be true. Follow one highlighted relation at a time.

This Nice Loop / AIC lesson uses HoDoKu's ordinary candidate-node family: discontinuous eliminations and placements, open Type 1 and Type 2 chains, and continuous loops. Start at R1C6=1 is true and inspect R1C6=1. In column 6, row 2, column 9, row 7, box 5, row 5, column 1, row 9, column 8, a solid link means at least one end is true; a dashed link means both ends cannot be true. Follow one highlighted relation at a time.
This Nice Loop / AIC lesson uses HoDoKu's ordinary candidate-node family: discontinuous eliminations and placements, open Type 1 and Type 2 chains, and continuous loops. Start at R1C6=1 is true and inspect R1C6=1. In column 6, row 2, column 9, row 7, box 5, row 5, column 1, row 9, column 8, a solid link means at least one end is true; a dashed link means both ends cannot be true. Follow one highlighted relation at a time.
Step 2 · Assumption: start the alternating chain

Branch 1: suppose R1C6=1 is true.

Branch 1: suppose R1C6=1 is true.
Branch 1: suppose R1C6=1 is true.
Step 3 · Weak relation: linked candidates conflict

R1C6=1 is true. Remove R1C6=8.

R1C6=1 is true. Remove R1C6=8.
R1C6=1 is true. Remove R1C6=8.
Step 4 · Strong relation: the other endpoint is forced

R1C6=8 is false. Together these two sides contain every remaining option in column 6. Therefore R2C6=8 must be true.

R1C6=8 is false. Together these two sides contain every remaining option in column 6. Therefore R2C6=8 must be true.
R1C6=8 is false. Together these two sides contain every remaining option in column 6. Therefore R2C6=8 must be true.
Step 5 · Weak relation: linked candidates conflict

R2C6=8 is true. Remove R2C6=6.

R2C6=8 is true. Remove R2C6=6.
R2C6=8 is true. Remove R2C6=6.
Step 6 · Strong relation: the other endpoint is forced

R2C6=6 is false. Together these two sides contain every remaining option in row 2. Therefore R2C9=6 must be true.

R2C6=6 is false. Together these two sides contain every remaining option in row 2. Therefore R2C9=6 must be true.
R2C6=6 is false. Together these two sides contain every remaining option in row 2. Therefore R2C9=6 must be true.
Step 7 · Weak relation: linked candidates conflict

R2C9=6 is true. Remove R2C9=3.

R2C9=6 is true. Remove R2C9=3.
R2C9=6 is true. Remove R2C9=3.
Step 8 · Strong relation: the other endpoint is forced

R2C9=3 is false. Together these two sides contain every remaining option in column 9. Therefore R7C9=3 must be true.

R2C9=3 is false. Together these two sides contain every remaining option in column 9. Therefore R7C9=3 must be true.
R2C9=3 is false. Together these two sides contain every remaining option in column 9. Therefore R7C9=3 must be true.
Step 9 · Weak relation: linked candidates conflict

R7C9=3 is true. Remove R7C6=3.

R7C9=3 is true. Remove R7C6=3.
R7C9=3 is true. Remove R7C6=3.
Step 10 · Strong relation: the other endpoint is forced

R7C6=3 is false. Together these two sides contain every remaining option in column 6. Therefore R6C6=3 must be true.

R7C6=3 is false. Together these two sides contain every remaining option in column 6. Therefore R6C6=3 must be true.
R7C6=3 is false. Together these two sides contain every remaining option in column 6. Therefore R6C6=3 must be true.
Step 11 · Weak relation: linked candidates conflict

R6C6=3 is true. Remove R5C4=3.

R6C6=3 is true. Remove R5C4=3.
R6C6=3 is true. Remove R5C4=3.
Step 12 · Strong relation: the other endpoint is forced

R5C4=3 is false. Together these two sides contain every remaining option in row 5. Therefore R5C1=3 must be true.

R5C4=3 is false. Together these two sides contain every remaining option in row 5. Therefore R5C1=3 must be true.
R5C4=3 is false. Together these two sides contain every remaining option in row 5. Therefore R5C1=3 must be true.
Step 13 · Weak relation: linked candidates conflict

R5C1=3 is true. Remove R9C1=3.

R5C1=3 is true. Remove R9C1=3.
R5C1=3 is true. Remove R9C1=3.
Step 14 · Strong relation: the other endpoint is forced

R9C1=3 is false. Together these two sides contain every remaining option in row 9. Therefore R9C8=3 must be true.

R9C1=3 is false. Together these two sides contain every remaining option in row 9. Therefore R9C8=3 must be true.
R9C1=3 is false. Together these two sides contain every remaining option in row 9. Therefore R9C8=3 must be true.
Step 15 · Weak relation: linked candidates conflict

R9C8=3 is true. Remove R2C8=3.

R9C8=3 is true. Remove R2C8=3.
R9C8=3 is true. Remove R2C8=3.
Step 16 · Same cell: force the other candidate

R2C8=3 is false. In the same cell R2C8, the other candidate R2C8=8 is forced true under the current assumption.

R2C8=3 is false. In the same cell R2C8, the other candidate R2C8=8 is forced true under the current assumption.
R2C8=3 is false. In the same cell R2C8, the other candidate R2C8=8 is forced true under the current assumption.
Step 17 · Weak relation: linked candidates conflict

R2C8=8 is true. Remove R2C6=8.

R2C8=8 is true. Remove R2C6=8.
R2C8=8 is true. Remove R2C6=8.
Step 18 · Strong relation: the other endpoint is forced

R2C6=8 is false. Together these two sides contain every remaining option in column 6. Therefore R1C6=8 must be true.

R2C6=8 is false. Together these two sides contain every remaining option in column 6. Therefore R1C6=8 must be true.
R2C6=8 is false. Together these two sides contain every remaining option in column 6. Therefore R1C6=8 must be true.
Step 19 · The chain reaches a contradiction

The deduction contradicts “R1C6=1 is true”, so R1C6=1 is false.

The deduction contradicts “R1C6=1 is true”, so R1C6=1 is false.
The deduction contradicts “R1C6=1 is true”, so R1C6=1 is false.
Step 20 · 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 21 · AIC summary

The alternating chain started from “R1C6=1 is true” and followed the labeled strong and weak relations, including same-cell switches where needed, to a contradiction. Therefore R1C6=1 is false. All temporary states are withdrawn.

The alternating chain started from “R1C6=1 is true” and followed the labeled strong and weak relations, including same-cell switches where needed, to a contradiction. Therefore R1C6=1 is false. All temporary states are withdrawn.
The alternating chain started from “R1C6=1 is true” and followed the labeled strong and weak relations, including same-cell switches where needed, to a contradiction. Therefore R1C6=1 is false. All temporary states are withdrawn.

What it allows

The alternating chain started from “R1C6=1 is true” and followed the labeled strong and weak relations, including same-cell switches where needed, to a contradiction. Therefore R1C6=1 is false. All temporary states are withdrawn.

Nice Loop / AIC · Use the verified outcome: remove a candidate or place a digit when its opposite state is impossible.
Nice Loop / AIC · Use the verified outcome: remove a candidate or place a digit when its opposite state is impossible.

Step-by-step example · Discontinuous · place

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 · Read the AIC before following it

This Nice Loop / AIC lesson uses HoDoKu's ordinary candidate-node family: discontinuous eliminations and placements, open Type 1 and Type 2 chains, and continuous loops. Start at R1C1=4 is false and inspect R1C1=4. In row 1, column 2, box 4, column 3, a solid link means at least one end is true; a dashed link means both ends cannot be true. Follow one highlighted relation at a time.

This Nice Loop / AIC lesson uses HoDoKu's ordinary candidate-node family: discontinuous eliminations and placements, open Type 1 and Type 2 chains, and continuous loops. Start at R1C1=4 is false and inspect R1C1=4. In row 1, column 2, box 4, column 3, a solid link means at least one end is true; a dashed link means both ends cannot be true. Follow one highlighted relation at a time.
This Nice Loop / AIC lesson uses HoDoKu's ordinary candidate-node family: discontinuous eliminations and placements, open Type 1 and Type 2 chains, and continuous loops. Start at R1C1=4 is false and inspect R1C1=4. In row 1, column 2, box 4, column 3, a solid link means at least one end is true; a dashed link means both ends cannot be true. Follow one highlighted relation at a time.
Step 2 · Assumption: start the alternating chain

Branch 1: suppose R1C1=4 is false.

Branch 1: suppose R1C1=4 is false.
Branch 1: suppose R1C1=4 is false.
Step 3 · Strong relation: the other endpoint is forced

R1C1=4 is false. Together these two sides contain every remaining option in row 1. Therefore R1C3=4 must be true.

R1C1=4 is false. Together these two sides contain every remaining option in row 1. Therefore R1C3=4 must be true.
R1C1=4 is false. Together these two sides contain every remaining option in row 1. Therefore R1C3=4 must be true.
Step 4 · Weak relation: linked candidates conflict

R1C3=4 is true. Remove R1C3=5.

R1C3=4 is true. Remove R1C3=5.
R1C3=4 is true. Remove R1C3=5.
Step 5 · Strong relation: the other endpoint is forced

R1C3=5 is false. Together these two sides contain every remaining option in row 1. Therefore R1C2=5 must be true.

R1C3=5 is false. Together these two sides contain every remaining option in row 1. Therefore R1C2=5 must be true.
R1C3=5 is false. Together these two sides contain every remaining option in row 1. Therefore R1C2=5 must be true.
Step 6 · Weak relation: linked candidates conflict

R1C2=5 is true. Remove R1C2=9.

R1C2=5 is true. Remove R1C2=9.
R1C2=5 is true. Remove R1C2=9.
Step 7 · Strong relation: the other endpoint is forced

R1C2=9 is false. Together these two sides contain every remaining option in column 2. Therefore R5C2=9 must be true.

R1C2=9 is false. Together these two sides contain every remaining option in column 2. Therefore R5C2=9 must be true.
R1C2=9 is false. Together these two sides contain every remaining option in column 2. Therefore R5C2=9 must be true.
Step 8 · Weak relation: linked candidates conflict

R5C2=9 is true. Remove R4C3=9.

R5C2=9 is true. Remove R4C3=9.
R5C2=9 is true. Remove R4C3=9.
Step 9 · Same cell: force the other candidate

R4C3=9 is false. In the same cell R4C3, the other candidate R4C3=4 is forced true under the current assumption.

R4C3=9 is false. In the same cell R4C3, the other candidate R4C3=4 is forced true under the current assumption.
R4C3=9 is false. In the same cell R4C3, the other candidate R4C3=4 is forced true under the current assumption.
Step 10 · Weak relation: linked candidates conflict

R4C3=4 is true. Remove R1C3=4.

R4C3=4 is true. Remove R1C3=4.
R4C3=4 is true. Remove R1C3=4.
Step 11 · The chain reaches a contradiction

The deduction contradicts “R1C1=4 is false”, so R1C1=4 is true.

The deduction contradicts “R1C1=4 is false”, so R1C1=4 is true.
The deduction contradicts “R1C1=4 is false”, so R1C1=4 is true.
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 · AIC summary

The alternating chain started from “R1C1=4 is false” and followed the labeled strong and weak relations, including same-cell switches where needed, to a contradiction. Therefore R1C1=4 is true. All temporary states are withdrawn.

The alternating chain started from “R1C1=4 is false” and followed the labeled strong and weak relations, including same-cell switches where needed, to a contradiction. Therefore R1C1=4 is true. All temporary states are withdrawn.
The alternating chain started from “R1C1=4 is false” and followed the labeled strong and weak relations, including same-cell switches where needed, to a contradiction. Therefore R1C1=4 is true. All temporary states are withdrawn.

What it allows

The alternating chain started from “R1C1=4 is false” and followed the labeled strong and weak relations, including same-cell switches where needed, to a contradiction. Therefore R1C1=4 is true. All temporary states are withdrawn.

Nice Loop / AIC · Use the verified outcome: remove a candidate or place a digit when its opposite state is impossible.
Nice Loop / AIC · Use the verified outcome: remove a candidate or place a digit when its opposite state is impossible.

Step-by-step example · Type 1

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 · Read the AIC before following it

This Nice Loop / AIC lesson uses HoDoKu's ordinary candidate-node family: discontinuous eliminations and placements, open Type 1 and Type 2 chains, and continuous loops. Start at R1C6=2 is false and inspect R1C8=2, R1C9=2, R2C4=2. In column 6, row 2, a solid link means at least one end is true; a dashed link means both ends cannot be true. Follow one highlighted relation at a time.

This Nice Loop / AIC lesson uses HoDoKu's ordinary candidate-node family: discontinuous eliminations and placements, open Type 1 and Type 2 chains, and continuous loops. Start at R1C6=2 is false and inspect R1C8=2, R1C9=2, R2C4=2. In column 6, row 2, a solid link means at least one end is true; a dashed link means both ends cannot be true. Follow one highlighted relation at a time.
This Nice Loop / AIC lesson uses HoDoKu's ordinary candidate-node family: discontinuous eliminations and placements, open Type 1 and Type 2 chains, and continuous loops. Start at R1C6=2 is false and inspect R1C8=2, R1C9=2, R2C4=2. In column 6, row 2, a solid link means at least one end is true; a dashed link means both ends cannot be true. Follow one highlighted relation at a time.
Step 2 · Assumption: start the alternating chain

Branch 1: suppose R1C6=2 is false.

Branch 1: suppose R1C6=2 is false.
Branch 1: suppose R1C6=2 is false.
Step 3 · Same cell: force the other candidate

R1C6=2 is false. In the same cell R1C6, the other candidate R1C6=1 is forced true under the current assumption.

R1C6=2 is false. In the same cell R1C6, the other candidate R1C6=1 is forced true under the current assumption.
R1C6=2 is false. In the same cell R1C6, the other candidate R1C6=1 is forced true under the current assumption.
Step 4 · Weak relation: linked candidates conflict

R1C6=1 is true. Remove R6C6=1.

R1C6=1 is true. Remove R6C6=1.
R1C6=1 is true. Remove R6C6=1.
Step 5 · Same cell: force the other candidate

R6C6=1 is false. In the same cell R6C6, the other candidate R6C6=6 is forced true under the current assumption.

R6C6=1 is false. In the same cell R6C6, the other candidate R6C6=6 is forced true under the current assumption.
R6C6=1 is false. In the same cell R6C6, the other candidate R6C6=6 is forced true under the current assumption.
Step 6 · Weak relation: linked candidates conflict

R6C6=6 is true. Remove R2C6=6.

R6C6=6 is true. Remove R2C6=6.
R6C6=6 is true. Remove R2C6=6.
Step 7 · Same cell: force the other candidate

R2C6=6 is false. In the same cell R2C6, the other candidate R2C6=7 is forced true under the current assumption.

R2C6=6 is false. In the same cell R2C6, the other candidate R2C6=7 is forced true under the current assumption.
R2C6=6 is false. In the same cell R2C6, the other candidate R2C6=7 is forced true under the current assumption.
Step 8 · Weak relation: linked candidates conflict

R2C6=7 is true. Remove R2C8=7.

R2C6=7 is true. Remove R2C8=7.
R2C6=7 is true. Remove R2C8=7.
Step 9 · Same cell: force the other candidate

R2C8=7 is false. In the same cell R2C8, the other candidate R2C8=2 is forced true under the current assumption.

R2C8=7 is false. In the same cell R2C8, the other candidate R2C8=2 is forced true under the current assumption.
R2C8=7 is false. In the same cell R2C8, the other candidate R2C8=2 is forced true under the current assumption.
Step 10 · AIC summary

The equal-digit endpoints R1C6=2 and R2C8=2 cannot both be false. Every target R1C8=2, R1C9=2, R2C4=2 sees both endpoints, so it can never be true.

The equal-digit endpoints R1C6=2 and R2C8=2 cannot both be false. Every target R1C8=2, R1C9=2, R2C4=2 sees both endpoints, so it can never be true.
The equal-digit endpoints R1C6=2 and R2C8=2 cannot both be false. Every target R1C8=2, R1C9=2, R2C4=2 sees both endpoints, so it can never be true.
Step 11 · 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 12 · AIC summary

Withdraw the temporary endpoint case. The Type 1 AIC permanently removes R1C8=2, R1C9=2, R2C4=2, because each target sees both R1C6=2 and R2C8=2.

Withdraw the temporary endpoint case. The Type 1 AIC permanently removes R1C8=2, R1C9=2, R2C4=2, because each target sees both R1C6=2 and R2C8=2.
Withdraw the temporary endpoint case. The Type 1 AIC permanently removes R1C8=2, R1C9=2, R2C4=2, because each target sees both R1C6=2 and R2C8=2.

What it allows

Withdraw the temporary endpoint case. The Type 1 AIC permanently removes R1C8=2, R1C9=2, R2C4=2, because each target sees both R1C6=2 and R2C8=2.

Nice Loop / AIC · Use the verified outcome: remove a candidate or place a digit when its opposite state is impossible.
Nice Loop / AIC · Use the verified outcome: remove a candidate or place a digit when its opposite state is impossible.

Step-by-step example · Type 2

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 · Read the AIC before following it

This Nice Loop / AIC lesson uses HoDoKu's ordinary candidate-node family: discontinuous eliminations and placements, open Type 1 and Type 2 chains, and continuous loops. Start at R1C8=9 is false and inspect R4C8=9. In row 1, column 7, box 6, column 8, row 3, column 6, row 5, column 4, row 6, column 9, row 4, a solid link means at least one end is true; a dashed link means both ends cannot be true. Follow one highlighted relation at a time.

This Nice Loop / AIC lesson uses HoDoKu's ordinary candidate-node family: discontinuous eliminations and placements, open Type 1 and Type 2 chains, and continuous loops. Start at R1C8=9 is false and inspect R4C8=9. In row 1, column 7, box 6, column 8, row 3, column 6, row 5, column 4, row 6, column 9, row 4, a solid link means at least one end is true; a dashed link means both ends cannot be true. Follow one highlighted relation at a time.
This Nice Loop / AIC lesson uses HoDoKu's ordinary candidate-node family: discontinuous eliminations and placements, open Type 1 and Type 2 chains, and continuous loops. Start at R1C8=9 is false and inspect R4C8=9. In row 1, column 7, box 6, column 8, row 3, column 6, row 5, column 4, row 6, column 9, row 4, a solid link means at least one end is true; a dashed link means both ends cannot be true. Follow one highlighted relation at a time.
Step 2 · Assumption: start the alternating chain

Branch 1: suppose R1C8=9 is false.

Branch 1: suppose R1C8=9 is false.
Branch 1: suppose R1C8=9 is false.
Step 3 · Strong relation: the other endpoint is forced

R1C8=9 is false. Together these two sides contain every remaining option in row 1. Therefore R1C7=9 must be true.

R1C8=9 is false. Together these two sides contain every remaining option in row 1. Therefore R1C7=9 must be true.
R1C8=9 is false. Together these two sides contain every remaining option in row 1. Therefore R1C7=9 must be true.
Step 4 · Weak relation: linked candidates conflict

R1C7=9 is true. Remove R5C7=9.

R1C7=9 is true. Remove R5C7=9.
R1C7=9 is true. Remove R5C7=9.
Step 5 · Same cell: force the other candidate

R5C7=9 is false. In the same cell R5C7, the other candidate R5C7=2 is forced true under the current assumption.

R5C7=9 is false. In the same cell R5C7, the other candidate R5C7=2 is forced true under the current assumption.
R5C7=9 is false. In the same cell R5C7, the other candidate R5C7=2 is forced true under the current assumption.
Step 6 · Weak relation: linked candidates conflict

R5C7=2 is true. Remove R6C8=2.

R5C7=2 is true. Remove R6C8=2.
R5C7=2 is true. Remove R6C8=2.
Step 7 · Same cell: force the other candidate

R6C8=2 is false. In the same cell R6C8, the other candidate R6C8=1 is forced true under the current assumption.

R6C8=2 is false. In the same cell R6C8, the other candidate R6C8=1 is forced true under the current assumption.
R6C8=2 is false. In the same cell R6C8, the other candidate R6C8=1 is forced true under the current assumption.
Step 8 · Weak relation: linked candidates conflict

R6C8=1 is true. Remove R3C8=1.

R6C8=1 is true. Remove R3C8=1.
R6C8=1 is true. Remove R3C8=1.
Step 9 · Same cell: force the other candidate

R3C8=1 is false. In the same cell R3C8, the other candidate R3C8=6 is forced true under the current assumption.

R3C8=1 is false. In the same cell R3C8, the other candidate R3C8=6 is forced true under the current assumption.
R3C8=1 is false. In the same cell R3C8, the other candidate R3C8=6 is forced true under the current assumption.
Step 10 · Weak relation: linked candidates conflict

R3C8=6 is true. Remove R3C6=6.

R3C8=6 is true. Remove R3C6=6.
R3C8=6 is true. Remove R3C6=6.
Step 11 · Same cell: force the other candidate

R3C6=6 is false. In the same cell R3C6, the other candidate R3C6=4 is forced true under the current assumption.

R3C6=6 is false. In the same cell R3C6, the other candidate R3C6=4 is forced true under the current assumption.
R3C6=6 is false. In the same cell R3C6, the other candidate R3C6=4 is forced true under the current assumption.
Step 12 · Weak relation: linked candidates conflict

R3C6=4 is true. Remove R5C6=4.

R3C6=4 is true. Remove R5C6=4.
R3C6=4 is true. Remove R5C6=4.
Step 13 · Strong relation: the other endpoint is forced

R5C6=4 is false. Together these two sides contain every remaining option in row 5. Therefore R5C4=4 must be true.

R5C6=4 is false. Together these two sides contain every remaining option in row 5. Therefore R5C4=4 must be true.
R5C6=4 is false. Together these two sides contain every remaining option in row 5. Therefore R5C4=4 must be true.
Step 14 · Weak relation: linked candidates conflict

R5C4=4 is true. Remove R5C4=3.

R5C4=4 is true. Remove R5C4=3.
R5C4=4 is true. Remove R5C4=3.
Step 15 · Strong relation: the other endpoint is forced

R5C4=3 is false. Together these two sides contain every remaining option in column 4. Therefore R6C4=3 must be true.

R5C4=3 is false. Together these two sides contain every remaining option in column 4. Therefore R6C4=3 must be true.
R5C4=3 is false. Together these two sides contain every remaining option in column 4. Therefore R6C4=3 must be true.
Step 16 · Weak relation: linked candidates conflict

R6C4=3 is true. Remove R6C9=3.

R6C4=3 is true. Remove R6C9=3.
R6C4=3 is true. Remove R6C9=3.
Step 17 · Strong relation: the other endpoint is forced

R6C9=3 is false. Together these two sides contain every remaining option in column 9. Therefore R4C9=3 must be true.

R6C9=3 is false. Together these two sides contain every remaining option in column 9. Therefore R4C9=3 must be true.
R6C9=3 is false. Together these two sides contain every remaining option in column 9. Therefore R4C9=3 must be true.
Step 18 · Weak relation: linked candidates conflict

R4C9=3 is true. Remove R4C9=7.

R4C9=3 is true. Remove R4C9=7.
R4C9=3 is true. Remove R4C9=7.
Step 19 · Strong relation: the other endpoint is forced

R4C9=7 is false. Together these two sides contain every remaining option in row 4. Therefore R4C8=7 must be true.

R4C9=7 is false. Together these two sides contain every remaining option in row 4. Therefore R4C8=7 must be true.
R4C9=7 is false. Together these two sides contain every remaining option in row 4. Therefore R4C8=7 must be true.
Step 20 · AIC summary

The peer endpoints R1C8=9 and R4C8=7 carry different digits. Each marked cross-candidate R4C8=9 would make both endpoints false, so remove it.

The peer endpoints R1C8=9 and R4C8=7 carry different digits. Each marked cross-candidate R4C8=9 would make both endpoints false, so remove it.
The peer endpoints R1C8=9 and R4C8=7 carry different digits. Each marked cross-candidate R4C8=9 would make both endpoints false, so remove it.
Step 21 · 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 22 · AIC summary

Withdraw the temporary endpoint case. The Type 2 AIC permanently removes the cross-candidates R4C8=9 between R1C8=9 and R4C8=7.

Withdraw the temporary endpoint case. The Type 2 AIC permanently removes the cross-candidates R4C8=9 between R1C8=9 and R4C8=7.
Withdraw the temporary endpoint case. The Type 2 AIC permanently removes the cross-candidates R4C8=9 between R1C8=9 and R4C8=7.

What it allows

Withdraw the temporary endpoint case. The Type 2 AIC permanently removes the cross-candidates R4C8=9 between R1C8=9 and R4C8=7.

Nice Loop / AIC · Use the verified outcome: remove a candidate or place a digit when its opposite state is impossible.
Nice Loop / AIC · Use the verified outcome: remove a candidate or place a digit when its opposite state is impossible.

Step-by-step example · Continuous loop

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 · Read the AIC before following it

This Nice Loop / AIC lesson uses HoDoKu's ordinary candidate-node family: discontinuous eliminations and placements, open Type 1 and Type 2 chains, and continuous loops. Start at R9C3=6 is false and inspect R9C3=5. In column 3, row 5, column 8, row 9, a solid link means at least one end is true; a dashed link means both ends cannot be true. Follow one highlighted relation at a time.

This Nice Loop / AIC lesson uses HoDoKu's ordinary candidate-node family: discontinuous eliminations and placements, open Type 1 and Type 2 chains, and continuous loops. Start at R9C3=6 is false and inspect R9C3=5. In column 3, row 5, column 8, row 9, a solid link means at least one end is true; a dashed link means both ends cannot be true. Follow one highlighted relation at a time.
This Nice Loop / AIC lesson uses HoDoKu's ordinary candidate-node family: discontinuous eliminations and placements, open Type 1 and Type 2 chains, and continuous loops. Start at R9C3=6 is false and inspect R9C3=5. In column 3, row 5, column 8, row 9, a solid link means at least one end is true; a dashed link means both ends cannot be true. Follow one highlighted relation at a time.
Step 2 · Assumption: start the alternating chain

Choose R9C3=6 only as the reading start of this closed loop. This is not a trial assumption; the alternating loop will return here.

Choose R9C3=6 only as the reading start of this closed loop. This is not a trial assumption; the alternating loop will return here.
Choose R9C3=6 only as the reading start of this closed loop. This is not a trial assumption; the alternating loop will return here.
Step 3 · Strong relation: the other endpoint is forced

R9C3=6 is false. Together these two sides contain every remaining option in column 3. Therefore R5C3=6 must be true.

R9C3=6 is false. Together these two sides contain every remaining option in column 3. Therefore R5C3=6 must be true.
R9C3=6 is false. Together these two sides contain every remaining option in column 3. Therefore R5C3=6 must be true.
Step 4 · Weak relation: linked candidates conflict

R5C3=6 is true. Remove R5C8=6.

R5C3=6 is true. Remove R5C8=6.
R5C3=6 is true. Remove R5C8=6.
Step 5 · Same cell: force the other candidate

R5C8=6 is false. In the same cell R5C8, the other candidate R5C8=8 is forced true under the current assumption.

R5C8=6 is false. In the same cell R5C8, the other candidate R5C8=8 is forced true under the current assumption.
R5C8=6 is false. In the same cell R5C8, the other candidate R5C8=8 is forced true under the current assumption.
Step 6 · Weak relation: linked candidates conflict

R5C8=8 is true. Remove R9C8=8.

R5C8=8 is true. Remove R9C8=8.
R5C8=8 is true. Remove R9C8=8.
Step 7 · Strong relation: the other endpoint is forced

R9C8=8 is false. Together these two sides contain every remaining option in row 9. Therefore R9C3=8 must be true.

R9C8=8 is false. Together these two sides contain every remaining option in row 9. Therefore R9C3=8 must be true.
R9C8=8 is false. Together these two sides contain every remaining option in row 9. Therefore R9C3=8 must be true.
Step 8 · Weak relation: linked candidates conflict

R9C3=8 is true. Remove R9C3=6.

R9C3=8 is true. Remove R9C3=6.
R9C3=8 is true. Remove R9C3=6.
Step 9 · AIC summary

The chain closes as a continuous alternating loop. Every weak relation on the loop is therefore strong, which removes R9C3=5 from the affected cell or house.

The chain closes as a continuous alternating loop. Every weak relation on the loop is therefore strong, which removes R9C3=5 from the affected cell or house.
The chain closes as a continuous alternating loop. Every weak relation on the loop is therefore strong, which removes R9C3=5 from the affected cell or house.
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 · AIC summary

The loop traversal is complete; withdraw its temporary states and permanently remove R9C3=5.

The loop traversal is complete; withdraw its temporary states and permanently remove R9C3=5.
The loop traversal is complete; withdraw its temporary states and permanently remove R9C3=5.

What it allows

The loop traversal is complete; withdraw its temporary states and permanently remove R9C3=5.

Nice Loop / AIC · Use the verified outcome: remove a candidate or place a digit when its opposite state is impossible.
Nice Loop / AIC · Use the verified outcome: remove a candidate or place a digit when its opposite state is impossible.

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