繁體中文

Platon Sudoku · 數獨學習

XY-Chain · 分步講解

鏈上每格恰好兩個候選;相鄰格互相看見並共享連接數字,首尾含相同目標數字。 從同時看見首尾兩端的格子排除共同數字。

本課程改編自 Platon Sudoku App 的教學內容。你可以在這裡讀完完整實例,再到應用程式中繼續學習和練習。

在 Google Play 查看

辨認模式

鏈上每格恰好兩個候選;相鄰格互相看見並共享連接數字,首尾含相同目標數字。

如何尋找

沿互見的雙候選格逐格切換另一個數字,直到末端也含起點的目標數字。

可以得出甚麼

從同時看見首尾兩端的格子排除共同數字。

別看錯了

任何鏈格若有第三個候選就不成立;每條連接和目標對兩端的視線都要核對。

分步講解 · 短鏈

本例從已儲存的中途盤面開始,候選數包含先前邏輯排除的結果,並非剛剛自動產生的筆記。

藍色:推理依據。綠色:結論。劃線數字:排除的候選數。R1C1 表示第1列第1欄。

步驟 1 · 先建立雙值鏈

鏈上的每一格都恰好有兩個候選:R5C8={4, 7}, R5C4={3, 7}, R6C6={2, 3}, R6C5={2, 4}。同一格內的兩個候選形成強關係:一個為假時,另一個必須為真。不同格中相連的同名候選互斥。兩個端點 R5C8=4, R6C5=4 具有相同的候選數字 4。

鏈上的每一格都恰好有兩個候選:R5C8={4, 7}, R5C4={3, 7}, R6C6={2, 3}, R6C5={2, 4}。同一格內的兩個候選形成強關係:一個為假時,另一個必須為真。不同格中相連的同名候選互斥。兩個端點 R5C8=4, R6C5=4 具有相同的候選數字 4。
鏈上的每一格都恰好有兩個候選:R5C8={4, 7}, R5C4={3, 7}, R6C6={2, 3}, R6C5={2, 4}。同一格內的兩個候選形成強關係:一個為假時,另一個必須為真。不同格中相連的同名候選互斥。兩個端點 R5C8=4, R6C5=4 具有相同的候選數字 4。
步驟 2 · 推理過程

分支 1:假設 R5C8=4 不成立。

分支 1:假設 R5C8=4 不成立。
分支 1:假設 R5C8=4 不成立。
步驟 3 · 推理過程

R5C8=4 不成立。R5C8 現在只剩 R5C8=7,因此它必須成立。

R5C8=4 不成立。R5C8 現在只剩 R5C8=7,因此它必須成立。
R5C8=4 不成立。R5C8 現在只剩 R5C8=7,因此它必須成立。
步驟 4 · 推理過程

第一種:R5C8 是雙候選格(R5C8=4, R5C8=7)。其中另一個候選不成立,所以 R5C8=7 在當前假設下被迫成立;它與不同格中的 R5C4=7 互斥,因此划掉這些衝突候選。

第一種:R5C8 是雙候選格(R5C8=4, R5C8=7)。其中另一個候選不成立,所以 R5C8=7 在當前假設下被迫成立;它與不同格中的 R5C4=7 互斥,因此划掉這些衝突候選。
第一種:R5C8 是雙候選格(R5C8=4, R5C8=7)。其中另一個候選不成立,所以 R5C8=7 在當前假設下被迫成立;它與不同格中的 R5C4=7 互斥,因此划掉這些衝突候選。
步驟 5 · 推理過程

R5C4=7 不成立。R5C4 現在只剩 R5C4=3,因此它必須成立。

R5C4=7 不成立。R5C4 現在只剩 R5C4=3,因此它必須成立。
R5C4=7 不成立。R5C4 現在只剩 R5C4=3,因此它必須成立。
步驟 6 · 推理過程

下一個節點 R5C4 仍是雙候選格(R5C4=3, R5C4=7)。其中另一個候選不成立,所以 R5C4=3 在當前假設下被迫成立;它與不同格中的 R6C6=3 互斥,因此划掉這些衝突候選。

下一個節點 R5C4 仍是雙候選格(R5C4=3, R5C4=7)。其中另一個候選不成立,所以 R5C4=3 在當前假設下被迫成立;它與不同格中的 R6C6=3 互斥,因此划掉這些衝突候選。
下一個節點 R5C4 仍是雙候選格(R5C4=3, R5C4=7)。其中另一個候選不成立,所以 R5C4=3 在當前假設下被迫成立;它與不同格中的 R6C6=3 互斥,因此划掉這些衝突候選。
步驟 7 · 推理過程

R6C6=3 不成立。R6C6 現在只剩 R6C6=2,因此它必須成立。

R6C6=3 不成立。R6C6 現在只剩 R6C6=2,因此它必須成立。
R6C6=3 不成立。R6C6 現在只剩 R6C6=2,因此它必須成立。
步驟 8 · 推理過程

下一個節點 R6C6 仍是雙候選格(R6C6=2, R6C6=3)。其中另一個候選不成立,所以 R6C6=2 在當前假設下被迫成立;它與不同格中的 R6C5=2 互斥,因此划掉這些衝突候選。

下一個節點 R6C6 仍是雙候選格(R6C6=2, R6C6=3)。其中另一個候選不成立,所以 R6C6=2 在當前假設下被迫成立;它與不同格中的 R6C5=2 互斥,因此划掉這些衝突候選。
下一個節點 R6C6 仍是雙候選格(R6C6=2, R6C6=3)。其中另一個候選不成立,所以 R6C6=2 在當前假設下被迫成立;它與不同格中的 R6C5=2 互斥,因此划掉這些衝突候選。
步驟 9 · 推理過程

末端 R6C5 是雙候選格(R6C5=2, R6C5=4)。R6C5=2 不成立,所以 R6C5=4 在當前假設下被迫成立,並排除目標 R6C8=4, R6C9=4。

末端 R6C5 是雙候選格(R6C5=2, R6C5=4)。R6C5=2 不成立,所以 R6C5=4 在當前假設下被迫成立,並排除目標 R6C8=4, R6C9=4。
末端 R6C5 是雙候選格(R6C5=2, R6C5=4)。R6C5=2 不成立,所以 R6C5=4 在當前假設下被迫成立,並排除目標 R6C8=4, R6C9=4。
步驟 10 · 撤回上一種矩形填法

撤回這個假設和由它產生的結果。恢復原候選快照,再檢查下一種可能。

撤回這個假設和由它產生的結果。恢復原候選快照,再檢查下一種可能。
撤回這個假設和由它產生的結果。恢復原候選快照,再檢查下一種可能。
步驟 11 · 推理過程

假設首端 R5C8=4 在雙候選格 R5C8(R5C8=4, R5C8=7)中成立。它在格內排除另一個候選,並在格間排除互相可見的衝突候選 R5C8=7, R6C8=4, R6C9=4。

假設首端 R5C8=4 在雙候選格 R5C8(R5C8=4, R5C8=7)中成立。它在格內排除另一個候選,並在格間排除互相可見的衝突候選 R5C8=7, R6C8=4, R6C9=4。
假設首端 R5C8=4 在雙候選格 R5C8(R5C8=4, R5C8=7)中成立。它在格內排除另一個候選,並在格間排除互相可見的衝突候選 R5C8=7, R6C8=4, R6C9=4。
步驟 12 · 結論

兩個端點情況窮盡全部可能,並且都會划掉 R6C8=4, R6C9=4。撤回臨時狀態後,可以刪除。

兩個端點情況窮盡全部可能,並且都會划掉 R6C8=4, R6C9=4。撤回臨時狀態後,可以刪除。
兩個端點情況窮盡全部可能,並且都會划掉 R6C8=4, R6C9=4。撤回臨時狀態後,可以刪除。

可以得出甚麼

兩個端點情況窮盡全部可能,並且都會划掉 R6C8=4, R6C9=4。撤回臨時狀態後,可以刪除。

XY-Chain · 從同時看見首尾兩端的格子排除共同數字。
XY-Chain · 從同時看見首尾兩端的格子排除共同數字。

分步講解 · 中鏈

本例從已儲存的中途盤面開始,候選數包含先前邏輯排除的結果,並非剛剛自動產生的筆記。

藍色:推理依據。綠色:結論。劃線數字:排除的候選數。R1C1 表示第1列第1欄。

步驟 1 · 先建立雙值鏈

鏈上的每一格都恰好有兩個候選:R1C4={3, 8}, R1C8={6, 8}, R7C8={2, 6}, R7C6={2, 4}, R7C5={3, 4}。同一格內的兩個候選形成強關係:一個為假時,另一個必須為真。不同格中相連的同名候選互斥。兩個端點 R1C4=3, R7C5=3 具有相同的候選數字 3。

鏈上的每一格都恰好有兩個候選:R1C4={3, 8}, R1C8={6, 8}, R7C8={2, 6}, R7C6={2, 4}, R7C5={3, 4}。同一格內的兩個候選形成強關係:一個為假時,另一個必須為真。不同格中相連的同名候選互斥。兩個端點 R1C4=3, R7C5=3 具有相同的候選數字 3。
鏈上的每一格都恰好有兩個候選:R1C4={3, 8}, R1C8={6, 8}, R7C8={2, 6}, R7C6={2, 4}, R7C5={3, 4}。同一格內的兩個候選形成強關係:一個為假時,另一個必須為真。不同格中相連的同名候選互斥。兩個端點 R1C4=3, R7C5=3 具有相同的候選數字 3。
步驟 2 · 推理過程

分支 1:假設 R1C4=3 不成立。

分支 1:假設 R1C4=3 不成立。
分支 1:假設 R1C4=3 不成立。
步驟 3 · 推理過程

R1C4=3 不成立。R1C4 現在只剩 R1C4=8,因此它必須成立。

R1C4=3 不成立。R1C4 現在只剩 R1C4=8,因此它必須成立。
R1C4=3 不成立。R1C4 現在只剩 R1C4=8,因此它必須成立。
步驟 4 · 推理過程

第一種:R1C4 是雙候選格(R1C4=3, R1C4=8)。其中另一個候選不成立,所以 R1C4=8 在當前假設下被迫成立;它與不同格中的 R1C8=8 互斥,因此划掉這些衝突候選。

第一種:R1C4 是雙候選格(R1C4=3, R1C4=8)。其中另一個候選不成立,所以 R1C4=8 在當前假設下被迫成立;它與不同格中的 R1C8=8 互斥,因此划掉這些衝突候選。
第一種:R1C4 是雙候選格(R1C4=3, R1C4=8)。其中另一個候選不成立,所以 R1C4=8 在當前假設下被迫成立;它與不同格中的 R1C8=8 互斥,因此划掉這些衝突候選。
步驟 5 · 推理過程

R1C8=8 不成立。R1C8 現在只剩 R1C8=6,因此它必須成立。

R1C8=8 不成立。R1C8 現在只剩 R1C8=6,因此它必須成立。
R1C8=8 不成立。R1C8 現在只剩 R1C8=6,因此它必須成立。
步驟 6 · 推理過程

下一個節點 R1C8 仍是雙候選格(R1C8=6, R1C8=8)。其中另一個候選不成立,所以 R1C8=6 在當前假設下被迫成立;它與不同格中的 R7C8=6 互斥,因此划掉這些衝突候選。

下一個節點 R1C8 仍是雙候選格(R1C8=6, R1C8=8)。其中另一個候選不成立,所以 R1C8=6 在當前假設下被迫成立;它與不同格中的 R7C8=6 互斥,因此划掉這些衝突候選。
下一個節點 R1C8 仍是雙候選格(R1C8=6, R1C8=8)。其中另一個候選不成立,所以 R1C8=6 在當前假設下被迫成立;它與不同格中的 R7C8=6 互斥,因此划掉這些衝突候選。
步驟 7 · 推理過程

R7C8=6 不成立。R7C8 現在只剩 R7C8=2,因此它必須成立。

R7C8=6 不成立。R7C8 現在只剩 R7C8=2,因此它必須成立。
R7C8=6 不成立。R7C8 現在只剩 R7C8=2,因此它必須成立。
步驟 8 · 推理過程

下一個節點 R7C8 仍是雙候選格(R7C8=2, R7C8=6)。其中另一個候選不成立,所以 R7C8=2 在當前假設下被迫成立;它與不同格中的 R7C6=2 互斥,因此划掉這些衝突候選。

下一個節點 R7C8 仍是雙候選格(R7C8=2, R7C8=6)。其中另一個候選不成立,所以 R7C8=2 在當前假設下被迫成立;它與不同格中的 R7C6=2 互斥,因此划掉這些衝突候選。
下一個節點 R7C8 仍是雙候選格(R7C8=2, R7C8=6)。其中另一個候選不成立,所以 R7C8=2 在當前假設下被迫成立;它與不同格中的 R7C6=2 互斥,因此划掉這些衝突候選。
步驟 9 · 推理過程

R7C6=2 不成立。R7C6 現在只剩 R7C6=4,因此它必須成立。

R7C6=2 不成立。R7C6 現在只剩 R7C6=4,因此它必須成立。
R7C6=2 不成立。R7C6 現在只剩 R7C6=4,因此它必須成立。
步驟 10 · 推理過程

下一個節點 R7C6 仍是雙候選格(R7C6=2, R7C6=4)。其中另一個候選不成立,所以 R7C6=4 在當前假設下被迫成立;它與不同格中的 R7C5=4 互斥,因此划掉這些衝突候選。

下一個節點 R7C6 仍是雙候選格(R7C6=2, R7C6=4)。其中另一個候選不成立,所以 R7C6=4 在當前假設下被迫成立;它與不同格中的 R7C5=4 互斥,因此划掉這些衝突候選。
下一個節點 R7C6 仍是雙候選格(R7C6=2, R7C6=4)。其中另一個候選不成立,所以 R7C6=4 在當前假設下被迫成立;它與不同格中的 R7C5=4 互斥,因此划掉這些衝突候選。
步驟 11 · 推理過程

末端 R7C5 是雙候選格(R7C5=3, R7C5=4)。R7C5=4 不成立,所以 R7C5=3 在當前假設下被迫成立,並排除目標 R1C5=3, R8C4=3。

末端 R7C5 是雙候選格(R7C5=3, R7C5=4)。R7C5=4 不成立,所以 R7C5=3 在當前假設下被迫成立,並排除目標 R1C5=3, R8C4=3。
末端 R7C5 是雙候選格(R7C5=3, R7C5=4)。R7C5=4 不成立,所以 R7C5=3 在當前假設下被迫成立,並排除目標 R1C5=3, R8C4=3。
步驟 12 · 撤回上一種矩形填法

撤回這個假設和由它產生的結果。恢復原候選快照,再檢查下一種可能。

撤回這個假設和由它產生的結果。恢復原候選快照,再檢查下一種可能。
撤回這個假設和由它產生的結果。恢復原候選快照,再檢查下一種可能。
步驟 13 · 推理過程

假設首端 R1C4=3 在雙候選格 R1C4(R1C4=3, R1C4=8)中成立。它在格內排除另一個候選,並在格間排除互相可見的衝突候選 R1C4=8, R1C5=3, R8C4=3。

假設首端 R1C4=3 在雙候選格 R1C4(R1C4=3, R1C4=8)中成立。它在格內排除另一個候選,並在格間排除互相可見的衝突候選 R1C4=8, R1C5=3, R8C4=3。
假設首端 R1C4=3 在雙候選格 R1C4(R1C4=3, R1C4=8)中成立。它在格內排除另一個候選,並在格間排除互相可見的衝突候選 R1C4=8, R1C5=3, R8C4=3。
步驟 14 · 結論

兩個端點情況窮盡全部可能,並且都會划掉 R1C5=3, R8C4=3。撤回臨時狀態後,可以刪除。

兩個端點情況窮盡全部可能,並且都會划掉 R1C5=3, R8C4=3。撤回臨時狀態後,可以刪除。
兩個端點情況窮盡全部可能,並且都會划掉 R1C5=3, R8C4=3。撤回臨時狀態後,可以刪除。

可以得出甚麼

兩個端點情況窮盡全部可能,並且都會划掉 R1C5=3, R8C4=3。撤回臨時狀態後,可以刪除。

XY-Chain · 從同時看見首尾兩端的格子排除共同數字。
XY-Chain · 從同時看見首尾兩端的格子排除共同數字。

分步講解 · 長鏈

本例從已儲存的中途盤面開始,候選數包含先前邏輯排除的結果,並非剛剛自動產生的筆記。

藍色:推理依據。綠色:結論。劃線數字:排除的候選數。R1C1 表示第1列第1欄。

步驟 1 · 先建立雙值鏈

鏈上的每一格都恰好有兩個候選:R1C3={1, 9}, R1C4={7, 9}, R2C4={7, 9}, R2C8={5, 9}, R2C5={5, 6}, R2C6={1, 6}, R2C9={1, 7}, R3C9={1, 7}。同一格內的兩個候選形成強關係:一個為假時,另一個必須為真。不同格中相連的同名候選互斥。兩個端點 R1C3=1, R3C9=1 具有相同的候選數字 1。

鏈上的每一格都恰好有兩個候選:R1C3={1, 9}, R1C4={7, 9}, R2C4={7, 9}, R2C8={5, 9}, R2C5={5, 6}, R2C6={1, 6}, R2C9={1, 7}, R3C9={1, 7}。同一格內的兩個候選形成強關係:一個為假時,另一個必須為真。不同格中相連的同名候選互斥。兩個端點 R1C3=1, R3C9=1 具有相同的候選數字 1。
鏈上的每一格都恰好有兩個候選:R1C3={1, 9}, R1C4={7, 9}, R2C4={7, 9}, R2C8={5, 9}, R2C5={5, 6}, R2C6={1, 6}, R2C9={1, 7}, R3C9={1, 7}。同一格內的兩個候選形成強關係:一個為假時,另一個必須為真。不同格中相連的同名候選互斥。兩個端點 R1C3=1, R3C9=1 具有相同的候選數字 1。
步驟 2 · 推理過程

分支 1:假設 R1C3=1 不成立。

分支 1:假設 R1C3=1 不成立。
分支 1:假設 R1C3=1 不成立。
步驟 3 · 推理過程

R1C3=1 不成立。R1C3 現在只剩 R1C3=9,因此它必須成立。

R1C3=1 不成立。R1C3 現在只剩 R1C3=9,因此它必須成立。
R1C3=1 不成立。R1C3 現在只剩 R1C3=9,因此它必須成立。
步驟 4 · 推理過程

第一種:R1C3 是雙候選格(R1C3=1, R1C3=9)。其中另一個候選不成立,所以 R1C3=9 在當前假設下被迫成立;它與不同格中的 R1C4=9 互斥,因此划掉這些衝突候選。

第一種:R1C3 是雙候選格(R1C3=1, R1C3=9)。其中另一個候選不成立,所以 R1C3=9 在當前假設下被迫成立;它與不同格中的 R1C4=9 互斥,因此划掉這些衝突候選。
第一種:R1C3 是雙候選格(R1C3=1, R1C3=9)。其中另一個候選不成立,所以 R1C3=9 在當前假設下被迫成立;它與不同格中的 R1C4=9 互斥,因此划掉這些衝突候選。
步驟 5 · 推理過程

R1C4=9 不成立。R1C4 現在只剩 R1C4=7,因此它必須成立。

R1C4=9 不成立。R1C4 現在只剩 R1C4=7,因此它必須成立。
R1C4=9 不成立。R1C4 現在只剩 R1C4=7,因此它必須成立。
步驟 6 · 推理過程

下一個節點 R1C4 仍是雙候選格(R1C4=7, R1C4=9)。其中另一個候選不成立,所以 R1C4=7 在當前假設下被迫成立;它與不同格中的 R2C4=7 互斥,因此划掉這些衝突候選。

下一個節點 R1C4 仍是雙候選格(R1C4=7, R1C4=9)。其中另一個候選不成立,所以 R1C4=7 在當前假設下被迫成立;它與不同格中的 R2C4=7 互斥,因此划掉這些衝突候選。
下一個節點 R1C4 仍是雙候選格(R1C4=7, R1C4=9)。其中另一個候選不成立,所以 R1C4=7 在當前假設下被迫成立;它與不同格中的 R2C4=7 互斥,因此划掉這些衝突候選。
步驟 7 · 推理過程

R2C4=7 不成立。R2C4 現在只剩 R2C4=9,因此它必須成立。

R2C4=7 不成立。R2C4 現在只剩 R2C4=9,因此它必須成立。
R2C4=7 不成立。R2C4 現在只剩 R2C4=9,因此它必須成立。
步驟 8 · 推理過程

下一個節點 R2C4 仍是雙候選格(R2C4=7, R2C4=9)。其中另一個候選不成立,所以 R2C4=9 在當前假設下被迫成立;它與不同格中的 R2C8=9 互斥,因此划掉這些衝突候選。

下一個節點 R2C4 仍是雙候選格(R2C4=7, R2C4=9)。其中另一個候選不成立,所以 R2C4=9 在當前假設下被迫成立;它與不同格中的 R2C8=9 互斥,因此划掉這些衝突候選。
下一個節點 R2C4 仍是雙候選格(R2C4=7, R2C4=9)。其中另一個候選不成立,所以 R2C4=9 在當前假設下被迫成立;它與不同格中的 R2C8=9 互斥,因此划掉這些衝突候選。
步驟 9 · 推理過程

R2C8=9 不成立。R2C8 現在只剩 R2C8=5,因此它必須成立。

R2C8=9 不成立。R2C8 現在只剩 R2C8=5,因此它必須成立。
R2C8=9 不成立。R2C8 現在只剩 R2C8=5,因此它必須成立。
步驟 10 · 推理過程

下一個節點 R2C8 仍是雙候選格(R2C8=5, R2C8=9)。其中另一個候選不成立,所以 R2C8=5 在當前假設下被迫成立;它與不同格中的 R2C5=5 互斥,因此划掉這些衝突候選。

下一個節點 R2C8 仍是雙候選格(R2C8=5, R2C8=9)。其中另一個候選不成立,所以 R2C8=5 在當前假設下被迫成立;它與不同格中的 R2C5=5 互斥,因此划掉這些衝突候選。
下一個節點 R2C8 仍是雙候選格(R2C8=5, R2C8=9)。其中另一個候選不成立,所以 R2C8=5 在當前假設下被迫成立;它與不同格中的 R2C5=5 互斥,因此划掉這些衝突候選。
步驟 11 · 推理過程

R2C5=5 不成立。R2C5 現在只剩 R2C5=6,因此它必須成立。

R2C5=5 不成立。R2C5 現在只剩 R2C5=6,因此它必須成立。
R2C5=5 不成立。R2C5 現在只剩 R2C5=6,因此它必須成立。
步驟 12 · 推理過程

下一個節點 R2C5 仍是雙候選格(R2C5=5, R2C5=6)。其中另一個候選不成立,所以 R2C5=6 在當前假設下被迫成立;它與不同格中的 R2C6=6 互斥,因此划掉這些衝突候選。

下一個節點 R2C5 仍是雙候選格(R2C5=5, R2C5=6)。其中另一個候選不成立,所以 R2C5=6 在當前假設下被迫成立;它與不同格中的 R2C6=6 互斥,因此划掉這些衝突候選。
下一個節點 R2C5 仍是雙候選格(R2C5=5, R2C5=6)。其中另一個候選不成立,所以 R2C5=6 在當前假設下被迫成立;它與不同格中的 R2C6=6 互斥,因此划掉這些衝突候選。
步驟 13 · 推理過程

R2C6=6 不成立。R2C6 現在只剩 R2C6=1,因此它必須成立。

R2C6=6 不成立。R2C6 現在只剩 R2C6=1,因此它必須成立。
R2C6=6 不成立。R2C6 現在只剩 R2C6=1,因此它必須成立。
步驟 14 · 推理過程

下一個節點 R2C6 仍是雙候選格(R2C6=1, R2C6=6)。其中另一個候選不成立,所以 R2C6=1 在當前假設下被迫成立;它與不同格中的 R2C9=1 互斥,因此划掉這些衝突候選。

下一個節點 R2C6 仍是雙候選格(R2C6=1, R2C6=6)。其中另一個候選不成立,所以 R2C6=1 在當前假設下被迫成立;它與不同格中的 R2C9=1 互斥,因此划掉這些衝突候選。
下一個節點 R2C6 仍是雙候選格(R2C6=1, R2C6=6)。其中另一個候選不成立,所以 R2C6=1 在當前假設下被迫成立;它與不同格中的 R2C9=1 互斥,因此划掉這些衝突候選。
步驟 15 · 推理過程

R2C9=1 不成立。R2C9 現在只剩 R2C9=7,因此它必須成立。

R2C9=1 不成立。R2C9 現在只剩 R2C9=7,因此它必須成立。
R2C9=1 不成立。R2C9 現在只剩 R2C9=7,因此它必須成立。
步驟 16 · 推理過程

下一個節點 R2C9 仍是雙候選格(R2C9=1, R2C9=7)。其中另一個候選不成立,所以 R2C9=7 在當前假設下被迫成立;它與不同格中的 R3C9=7 互斥,因此划掉這些衝突候選。

下一個節點 R2C9 仍是雙候選格(R2C9=1, R2C9=7)。其中另一個候選不成立,所以 R2C9=7 在當前假設下被迫成立;它與不同格中的 R3C9=7 互斥,因此划掉這些衝突候選。
下一個節點 R2C9 仍是雙候選格(R2C9=1, R2C9=7)。其中另一個候選不成立,所以 R2C9=7 在當前假設下被迫成立;它與不同格中的 R3C9=7 互斥,因此划掉這些衝突候選。
步驟 17 · 推理過程

末端 R3C9 是雙候選格(R3C9=1, R3C9=7)。R3C9=7 不成立,所以 R3C9=1 在當前假設下被迫成立,並排除目標 R3C1=1, R3C2=1, R3C3=1。

末端 R3C9 是雙候選格(R3C9=1, R3C9=7)。R3C9=7 不成立,所以 R3C9=1 在當前假設下被迫成立,並排除目標 R3C1=1, R3C2=1, R3C3=1。
末端 R3C9 是雙候選格(R3C9=1, R3C9=7)。R3C9=7 不成立,所以 R3C9=1 在當前假設下被迫成立,並排除目標 R3C1=1, R3C2=1, R3C3=1。
步驟 18 · 撤回上一種矩形填法

撤回這個假設和由它產生的結果。恢復原候選快照,再檢查下一種可能。

撤回這個假設和由它產生的結果。恢復原候選快照,再檢查下一種可能。
撤回這個假設和由它產生的結果。恢復原候選快照,再檢查下一種可能。
步驟 19 · 推理過程

假設首端 R1C3=1 在雙候選格 R1C3(R1C3=1, R1C3=9)中成立。它在格內排除另一個候選,並在格間排除互相可見的衝突候選 R1C3=9, R3C1=1, R3C2=1, R3C3=1。

假設首端 R1C3=1 在雙候選格 R1C3(R1C3=1, R1C3=9)中成立。它在格內排除另一個候選,並在格間排除互相可見的衝突候選 R1C3=9, R3C1=1, R3C2=1, R3C3=1。
假設首端 R1C3=1 在雙候選格 R1C3(R1C3=1, R1C3=9)中成立。它在格內排除另一個候選,並在格間排除互相可見的衝突候選 R1C3=9, R3C1=1, R3C2=1, R3C3=1。
步驟 20 · 結論

兩個端點情況窮盡全部可能,並且都會划掉 R3C1=1, R3C2=1, R3C3=1。撤回臨時狀態後,可以刪除。

兩個端點情況窮盡全部可能,並且都會划掉 R3C1=1, R3C2=1, R3C3=1。撤回臨時狀態後,可以刪除。
兩個端點情況窮盡全部可能,並且都會划掉 R3C1=1, R3C2=1, R3C3=1。撤回臨時狀態後,可以刪除。

可以得出甚麼

兩個端點情況窮盡全部可能,並且都會划掉 R3C1=1, R3C2=1, R3C3=1。撤回臨時狀態後,可以刪除。

XY-Chain · 從同時看見首尾兩端的格子排除共同數字。
XY-Chain · 從同時看見首尾兩端的格子排除共同數字。

練習

本課程改編自 Platon Sudoku App 的教學內容。你可以在這裡讀完完整實例,再到應用程式中繼續學習和練習。

在 Google Play 查看