はじめに
今日は、世界一難しいと言われている数独パズルの1つ、フィンランドの数学者アルト・インカラ氏が設計した「AI Escargot」に挑戦します。このパズルは難易度が非常に高く、最初から埋められている数字が少ないため、解決するには多くの高度なテクニックが必要となります。
元の問題
まずは、この超難解な数独パズルの問題を見てみましょう:
8 . . | . . . | . . .
. . 3 | 6 . . | . . .
. 7 . | . 9 . | 2 . .
----- + ----- + -----
. 5 . | . . 7 | . . .
. . . | . 4 5 | 7 . .
. . . | 1 . . | . 3 .
----- + ----- + -----
. . 1 | . . . | . 6 8
. . 8 | 5 . . | . 1 .
. 9 . | . . . | 4 . .
最初に与えられている数字は以下の通りです:
- 1行目:8(1列目)
- 2行目:3(3列目)、6(4列目)
- 3行目:7(2列目)、9(5列目)、2(7列目)
- 4行目:5(2列目)、7(6列目)
- 5行目:4(5列目)、5(6列目)、7(7列目)
- 6行目:1(4列目)、3(8列目)
- 7行目:1(3列目)、6(8列目)、8(9列目)
- 8行目:8(3列目)、5(4列目)、1(8列目)
- 9行目:9(2列目)、4(7列目)
詳細な解き方
ステップ1:各マスの候補数字をメモする
まず最初に、空いているマスそれぞれに入る可能性のある数字(候補数字)をすべてメモします。これは同じ行、列、3×3ブロック内に既に存在する数字を除外することで行います。いくつかの代表的なマスを例に挙げます:
マス(1,2)- 1行目、2列目:
- 8は不可(1行目に既存)
- 3, 6は不可(左上の3×3ブロックに既存)
- 7, 9は不可(2列目に既存)
- 残りの数字:1, 2, 4, 5
- → マス(1,2)の候補数字:1, 2, 4, 5
マス(1,3)- 1行目、3列目:
- 8は不可(1行目に既存)
- 3は不可(左上の3×3ブロックに既存)
- 1, 8は不可(3列目に既存)
- 残りの数字:2, 4, 5, 6, 7, 9
- → マス(1,3)の候補数字:2, 4, 5, 6, 7, 9
この作業をすべての空きマスに対して行うことで、完全なメモを作成します。難しいパズルを解く際、これが最も重要なステップです。
ステップ2:「ネイキッドシングル」を探す – 候補数字が1つしかないマス
すべてのメモを作成した後、候補数字が1つしかないマスを探します。この超難問では最初はそのようなマスは少ないですが、いくつか見つけることができます:
マス(3,9)- 3行目、9列目:
- 分析の結果、このマスには1しか入れられません
- 理由:2, 3, 4, 5, 6, 7, 8, 9はすべて同じ行、列、または3×3ブロックに既に存在するため除外される
- マス(3,9)に1を入れます
このステップ後の盤面:
8 . . | . . . | . . .
. . 3 | 6 . . | . . .
. 7 . | . 9 . | 2 . 1
----- + ----- + -----
. 5 . | . . 7 | . . .
. . . | . 4 5 | 7 . .
. . . | 1 . . | . 3 .
----- + ----- + -----
. . 1 | . . . | . 6 8
. . 8 | 5 . . | . 1 .
. 9 . | . . . | 4 . .
ステップ3:「ヒドゥンシングル」を探す – ユニット内で1箇所にしか現れない数字
次に、ある数字が行、列、または3×3ブロックの中で1箇所にしか現れない場合を探します。そのマスには他の候補数字もあるかもしれませんが、その特定の数字はそこでしか使えません。
右下中央のブロック(7-9行目、4-6列目)の具体例:
- 分析により、3はマス(9,5)- 9行目、5列目にしか入れられないことがわかります
- 理由:このブロック内の他のマスでは、3は行や列の制約により除外されます
- マス(9,5)に3を入れます
8 . . | . . . | . . .
. . 3 | 6 . . | . . .
. 7 . | . 9 . | 2 . 1
----- + ----- + -----
. 5 . | . . 7 | . . .
. . . | . 4 5 | 7 . .
. . . | 1 . . | . 3 .
----- + ----- + -----
. . 1 | . . . | . 6 8
. . 8 | 5 . . | . 1 .
. 9 . | . 3 . | 4 . .
ステップ4:「ネイキッドペア」テクニックを適用する
次に、同じユニット(行、列、または3×3ブロック)内で、2つのマスが同じ2つの数字しか含めない場合を探します。
4行目の例:
- マス(4,3)とマス(4,8)には1と9しか入りません
- これは、1と9がこの2つのマスに入るということを意味します
- したがって、4行目の他のマスから1と9を除外できます
- 4行目のすべての他のマスのメモを更新します
8 . . | . . . | . . .
. . 3 | 6 . . | . . .
. 7 . | . 9 . | 2 . 1
----- + ----- + -----
. 5 {1,9} | . . 7 | . {1,9} .
. . . | . 4 5 | 7 . .
. . . | 1 . . | . 3 .
----- + ----- + -----
. . 1 | . . . | . 6 8
. . 8 | 5 . . | . 1 .
. 9 . | . 3 . | 4 . .
ステップ5:「ヒドゥンペア」テクニックを適用する
このテクニックでは、あるユニット内で2つの数字が正確に2つのマスにしか現れない場合を探します。これらのマスには他の候補数字もあるかもしれません。
6列目の例:
- 数字2と8はマス(2,6)とマス(7,6)にしか現れません
- つまり、これらのマスには2と8が入るということです
- これらの2つのマスから他のすべての候補数字を除外できます
- メモを更新:マス(2,6)とマス(7,6)の候補数字は2と8のみとなります
8 . . | . . . | . . .
. . 3 | 6 . {2,8} | . . .
. 7 . | . 9 . | 2 . 1
----- + ----- + -----
. 5 {1,9} | . . 7 | . {1,9} .
. . . | . 4 5 | 7 . .
. . . | 1 . . | . 3 .
----- + ----- + -----
. . 1 | . . {2,8} | . 6 8
. . 8 | 5 . . | . 1 .
. 9 . | . 3 . | 4 . .
ステップ6:「X-Wing」テクニックを適用する
X-Wingは、ある数字が2つの行(または列)のそれぞれで正確に2か所ずつ候補として現れ、それらの位置が同じ2つの列(または行)上にある場合に発生します。これにより長方形のパターンが形成されます。
数字4の例:
- 行aと行gでは、数字4は列3と列6にしか現れません
- これにより、頂点が(1,3)、(1,6)、(7,3)、(7,6)の長方形が形成されます
- 結論:数字4は(1,3)または(1,6)のいずれかと、(7,3)または(7,6)のいずれかに入らなければなりません
- したがって、列3と列6の他のマスには数字4は入れません
- 更新:列3と列6の他のすべてのマスから数字4を除外します
8 . {4} | . . {4} | . . .
. . 3 | 6 . {2,8} | . . .
. 7 . | . 9 . | 2 . 1
----- + ----- + -----
. 5 {1,9} | . . 7 | . {1,9} .
. . . | . 4 5 | 7 . .
. . . | 1 . . | . 3 .
----- + ----- + -----
. . {1,4} | . . {2,4,8} | . 6 8
. . 8 | 5 . . | . 1 .
. 9 . | . 3 . | 4 . .
ステップ7:「Y-Wing」テクニックを適用する
Y-Wingは3つのマスに関連します。候補数字がABの「ピボット」マス1つと、候補数字がACとBCの「ピンサー」マス2つがあります(A、B、Cは異なる3つの数字)。
具体例:
- ピボットマス(5,2):候補数字{2,6}
- ピンサーマス1(5,7):候補数字{2,9}
- ピンサーマス2(8,2):候補数字{6,9}
- ピボットマスが2ならば、ピンサーマス1は9になります
- ピボットマスが6ならば、ピンサーマス2は9になります
- 結論:ピボットマスが2でも6でも、数字9は2つのピンサーマスのいずれかに入ります
- したがって、両方のピンサーマスから見えるマスに9は入れません
- マス(8,7)から9を除外します(ピンサーマス2と同じ行、ピンサーマス1と同じ列にあるため)
ステップ8:「ソードフィッシュ」テクニックを適用する
ソードフィッシュはX-Wingの拡張版で、3つの行と3つの列に関連します。
数字7の例:
- 行1、4、8では、数字7は列1、5、9にしか候補として現れません
- これによりソードフィッシュパターンが形成されます
- 結論:これらの3行では、数字7は列1、5、9に入らなければなりません
- したがって、列1、5、9の他のマスには数字7は入れません
- 更新:マス(2,1)、(3,1)、(6,1)、(9,1)、(2,5)、(6,5)、(7,5)、(9,5)、(2,9)、(6,9)から数字7を除外します
ステップ9:「ネイキッドトリプル」を発見する
このテクニックでは、同じユニット内の3つのマスが同じ3つの数字しか含まない場合を探します。
右上ブロック(1-3行目、7-9列目)の例:
- マス(1,7)、(1,8)、(2,9)には数字5、7、9しか入りません
- つまり、これら3つの数字はこれら3つのマスに入るということです
- したがって、このブロック内の他のマスから5、7、9を除外できます
- マス(2,7)と(2,8)のメモを更新します
ステップ10:個々のマスを具体的に解く
上記のテクニックを適用し、メモを継続的に更新することで、候補数字が1つだけのマスが見つかってきます。いくつかの具体的なマスを見てみましょう:
マス(1,4)- 1行目、4列目:
- 除外作業の結果、このマスには7しか入れられません
- マス(1,4)に7を入れます
8 . . | 7 . . | . . .
. . 3 | 6 . {2,8} | . . .
. 7 . | . 9 . | 2 . 1
----- + ----- + -----
. 5 {1,9} | . . 7 | . {1,9} .
. . . | . 4 5 | 7 . .
. . . | 1 . . | . 3 .
----- + ----- + -----
. . {1,4} | . . {2,4,8} | . 6 8
. . 8 | 5 . . | . 1 .
. 9 . | . 3 . | 4 . .
マス(1,5)- 1行目、5列目:
- マス(1,4)に7を入れた後、分析によりマス(1,5)には1しか入れられないことがわかります
- マス(1,5)に1を入れます
8 . . | 7 1 . | . . .
. . 3 | 6 . {2,8} | . . .
. 7 . | . 9 . | 2 . 1
----- + ----- + -----
. 5 {1,9} | . . 7 | . {1,9} .
. . . | . 4 5 | 7 . .
. . . | 1 . . | . 3 .
----- + ----- + -----
. . {1,4} | . . {2,4,8} | . 6 8
. . 8 | 5 . . | . 1 .
. 9 . | . 3 . | 4 . .
ステップ11:分析を続け、数字を埋めていく
このプロセスを続けると、徐々に数独の盤面が埋まっていきます。いくつかの次のステップを紹介します:
マス(5,3)- 5行目、3列目:
- 前のステップ後、このマスには2しか入れられません
- マス(5,3)に2を入れます
8 . . | 7 1 . | . . .
. . 3 | 6 . {2,8} | . . .
. 7 . | . 9 . | 2 . 1
----- + ----- + -----
. 5 {1,9} | . . 7 | . {1,9} .
. . 2 | . 4 5 | 7 . .
. . . | 1 . . | . 3 .
----- + ----- + -----
. . {1,4} | . . {2,4,8} | . 6 8
. . 8 | 5 . . | . 1 .
. 9 . | . 3 . | 4 . .
マス(5,1)- 5行目、1列目:
- マス(5,3)に2を入れた後、分析によりマス(5,1)には1しか入れられないことがわかります
- マス(5,1)に1を入れます
8 . . | 7 1 . | . . .
. . 3 | 6 . {2,8} | . . .
. 7 . | . 9 . | 2 . 1
----- + ----- + -----
. 5 {1,9} | . . 7 | . {1,9} .
1 . 2 | . 4 5 | 7 . .
. . . | 1 . . | . 3 .
----- + ----- + -----
. . {1,4} | . . {2,4,8} | . 6 8
. . 8 | 5 . . | . 1 .
. 9 . | . 3 . | 4 . .
ステップ12:「ユニークレクタングル」テクニックを使う
このテクニックは、4つの角に同じ2つの数字が入る長方形を作らないようにします。それは2つの異なる解答につながるため、数独では無効です。
例:
- マス(4,1)、(4,9)、(9,1)、(9,9)がすべて数字2と6のみを含む場合
- これは「デッドリーパターン」を作ります – これら4つのマスに数字を入れる方法が2通りあることになります
- これを避けるため、これらのマスの1つには2と6以外の候補数字も必要です
- マス(4,1)の候補数字が{2,6,8}の場合、このマスは8にはなりえません(デッドリーパターンになるため)
- 結論:マス(4,1)には8が入ります
- マス(4,1)に8を入れます
8 . . | 7 1 . | . . .
. . 3 | 6 . {2,8} | . . .
. 7 . | . 9 . | 2 . 1
----- + ----- + -----
8 5 {1,9} | . . 7 | . {1,9} .
1 . 2 | . 4 5 | 7 . .
. . . | 1 . . | . 3 .
----- + ----- + -----
. . {1,4} | . . {2,4,8} | . 6 8
. . 8 | 5 . . | . 1 .
. 9 . | . 3 . | 4 . .
ステップ13:解答を完成させる
これらのテクニックを続けて適用すると、徐々に数独の盤面が埋まっていきます。新しい数字を埋めるたびに、残りのすべての空きマスのメモを更新する必要があります。
同様の多くのステップを経て、最終的な解答が得られます:
8 1 2 | 7 5 3 | 6 4 9
9 4 3 | 6 8 2 | 1 7 5
6 7 5 | 4 9 1 | 2 8 3
----- + ----- + -----
1 5 4 | 2 3 7 | 8 9 6
3 6 9 | 8 4 5 | 7 2 1
2 8 7 | 1 6 9 | 5 3 4
----- + ----- + -----
5 2 1 | 9 7 4 | 3 6 8
4 3 8 | 5 2 6 | 9 1 7
7 9 6 | 3 1 8 | 4 5 2
まとめ
超難解な数独パズルを解くには、高度なテクニックと忍耐力が必要です。解決プロセスには以下が含まれます:
- 各マスの候補数字を完全にメモする
- 各ステップ後にメモを継続的に更新する
- シンプルなものから複雑なものまで、テクニックを順番に適