数独の上級手筋7つ|X-Wingの次に覚える順番を6000問で調べた
数独(ナンプレ)の手筋を数独(ナンプレ)の解き方7つの手筋で井桁(X-Wing)まで紹介しました。その7つを覚えても、むずかしい問題では手が止まります。次にどの手筋を覚えればいいのかを、実際に問題を解かせて数えて決めました。
結論から書くと、X-Wingの次に覚えるなら、ツーストリングカイト・W-Wing・シンプルカラーリング・スカイスクレイパーです。自分で作った答えが1つの問題6,000問のうち、7つの手筋で詰まった局面では、ツーストリングカイトが47.3%で使えました。「次の手筋」としてよく名前が挙がるソードフィッシュは、1.8%しか使えませんでした。
この記事では、手筋8〜14として7つを、実際の局面の図つきで説明します。
X-Wingの次に覚える手筋はどれか
結論:7つの手筋で詰まった局面で使えた割合が高いのは、ツーストリングカイト(47.3%)・W-Wing(36.3%)・シンプルカラーリング(34.1%)・スカイスクレイパー(28.9%)でした。
調べ方は次のとおりです。Pythonで答えが1つだけの問題を6,000問作りました。どれも「ヒントの数字を1つでも消すと答えが複数になる」ところまで数字を減らした問題です。これを既存記事の7つの手筋(単独候補・唯一候補・ブロック内直線・二国同盟・隠れ二国同盟・三国同盟・井桁)で解けるところまで解きました。
最後まで解けたのは3,664問(61.1%)でした。残りの2,336問について、詰まった最初の局面で、上級の手筋がそれぞれ使えるかを1つずつ判定しました。
| 手筋 | 詰まった局面で使えた数 | 割合 |
|---|---|---|
| ツーストリングカイト | 1,104 | 47.3% |
| W-Wing | 847 | 36.3% |
| シンプルカラーリング | 796 | 34.1% |
| スカイスクレイパー | 674 | 28.9% |
| XY-Wing | 495 | 21.2% |
| XYZ-Wing | 290 | 12.4% |
| ユニークレクタングル | 284 | 12.2% |
| 隠れ三国同盟 | 61 | 2.6% |
| ソードフィッシュ | 42 | 1.8% |
| ジェリーフィッシュ | 19 | 0.8% |
1つの局面で複数の手筋が使えることがあるので、割合の合計は100%を超えます。残りの479問(20.5%)は、表のどの手筋も使えませんでした。そういう問題には、この記事の範囲を超える長い連鎖の手筋が要ります。
手筋の実装を間違えると、正しい候補を消してしまいます。そこで候補を消すたびに、その問題の正解と照合しました。正解の数字を消した手順は、6,000問で1つもありませんでした。
覚える順番
結論:1つの数字だけを見る手筋(8〜10)を先に、候補が2つのマスを使う手筋(11〜13)を後に覚えるのがおすすめです。
割合の順番だけでなく、考え方の近さでも並べました。手筋8〜10は井桁と同じく、1つの数字の「どちらかに必ず入る」関係をつなぐ手筋です。手筋11〜13は、候補が2つだけのマスの組み合わせで考えます。手筋14だけは「答えが1つ」という前提を使います。
| 順 | 手筋 | 見るもの |
|---|---|---|
| 8 | スカイスクレイパー | 1つの数字の強いリンク2本 |
| 9 | ツーストリングカイト | 1つの数字の強いリンク2本(行と列) |
| 10 | シンプルカラーリング | 1つの数字の強いリンクのつながり |
| 11 | XY-Wing | 候補が2つのマス3つ |
| 12 | W-Wing | 同じ候補2つのマス2つと強いリンク |
| 13 | XYZ-Wing | 候補が3つのマス1つと2つのマス2つ |
| 14 | ユニークレクタングル | 長方形の4隅(答えが1つの前提) |
図の見方
マスの位置は「◯行◯列」で書きます。上から数えた行と、左から数えた列です。図の記号は次のとおりです。
▼図の記号
▶ 黄色やオレンジのマス:手筋を作っているマス
▶ 青い丸の数字:手筋を作っている候補。青い線は強いリンク
▶ 赤い丸と斜線の数字:この手筋で消せる候補
▶ 黒の大きな数字は最初からある数字、青の大きな数字は解いて埋めた数字
上級手筋の前に知っておく「強いリンク」とは
結論:ある行・列・ブロックで、ある数字の候補がちょうど2マスだけのとき、その2マスの「どちらか一方に必ず入る」関係を強いリンクと呼びます。
たとえばある行で7が入れるマスがAとBの2つだけなら、Aが7でなければBが7です。井桁(X-Wing)は、この強いリンクを2本、長方形に組み合わせた手筋でした。手筋8〜10は、強いリンクの組み合わせ方を変えただけです。呼び名は書籍やサイトによって違い、「共役ペア」と呼ばれることもあります。
手筋8:スカイスクレイパー
結論:ある数字の強いリンクが2本あり、片方の端どうしが同じ列(または行)にそろっているとき、そろっていない2つの端を両方とも見ているマスから、その数字を消せます。
図は数字7の例です。4行目で7が入れるのは1列と6列だけ、8行目で7が入れるのは2列と6列だけです。どちらも強いリンクです。
6列にある4行6列と8行6列は同じ列なので、両方が7にはなれません。どちらかが7でないなら、同じ行の反対側の端が7です。つまり4行1列と8行2列のどちらかは必ず7です。
9行1列は、1列目で4行1列と、左下のブロックで8行2列とつながっています。どちらが7でも9行1列には7が入れないので、9行1列から7を消せます。
井桁との違いは、端のそろい方です。両端とも同じ列にそろっていれば井桁、片方だけならスカイスクレイパーです。
手筋9:ツーストリングカイト
結論:ある数字の行の強いリンクと列の強いリンクが、片方の端どうしで同じブロックに入っているとき、残りの2つの端を両方とも見ているマスから、その数字を消せます。
図は数字7の例です。7行目で7が入れるのは6列と9列だけ、7列目で7が入れるのは6行と9行だけです。
行のリンクの端7行9列と、列のリンクの端9行7列は、どちらも右下のブロックにあります。同じブロックなので、両方が7にはなれません。したがって反対側の端の7行6列と6行7列のどちらかは必ず7です。
6行6列は、6列目で7行6列と、6行目で6行7列とつながっています。6行6列から7を消せます。スカイスクレイパーが「同じ向きの強いリンク2本」なのに対して、ツーストリングカイトは「行と列の強いリンク1本ずつ」です。6,000問の調査では、上級手筋の中でいちばん出番がありました。
手筋10:シンプルカラーリング
結論:ある数字の強いリンクを数珠つなぎにして、交互に2色で塗ります。どちらかの色が全部正解なので、両方の色のマスを見ているマスから、その数字を消せます。
図は数字9の例です。3行目の9は3行1列と3行4列だけ、4列目の9は3行4列と4行4列だけ、中央のブロックの9は4行4列と5行5列だけです。この3本の強いリンクをつなぐと、3行1列から5行5列まで一続きになります。
つながった順に青と赤で交互に塗ると、青は3行1列と4行4列、赤は3行4列と5行5列です。強いリンクは「片方が9でなければもう片方が9」なので、青が全部9か、赤が全部9かのどちらかになります。
5行1列は、1列目で青の3行1列と、5行目で赤の5行5列とつながっています。どちらの色が正解でも9が入れないので、5行1列から9を消せます。
同じ色のマスどうしが同じ行・列・ブロックに2つあったら、その色は正解になりえません。その場合は、その色のマスすべてから数字を消せます。
手筋11:XY-Wing
結論:候補が2つだけのマス3つで作ります。真ん中のマスの候補が{X, Y}、それとつながる2マスが{X, Z}と{Y, Z}なら、その2マスを両方とも見ているマスからZを消せます。
図の真ん中(オレンジ)は4行6列で、候補は{6, 8}です。4行6列とつながるマスに、3行6列{4, 8}と4行7列{4, 6}があります。Zにあたるのは4です。
4行6列が8なら、同じ6列の3行6列は8になれないので4です。4行6列が6なら、同じ4行目の4行7列は6になれないので4です。どちらの場合も、3行6列か4行7列のどちらかが4になります。
3行7列は、3行目で3行6列と、7列目で4行7列とつながっています。3行7列から4を消せます。
手筋12:W-Wing
結論:同じ候補{X, Y}を持つマスが離れて2つあり、Xの強いリンクの両端がそれぞれのマスとつながっているとき、2つのマスを両方とも見ているマスからYを消せます。
図は候補{1, 2}の例です。1行5列と5行7列は、どちらも候補が{1, 2}です。2行目の1は2行5列と2行7列にしか入れないので、ここが強いリンクです。
2行5列は1行5列と同じ5列、2行7列は5行7列と同じ7列にあります。1行5列が2でなければ1です。すると2行5列は1になれないので、強いリンクの反対側の2行7列が1です。すると5行7列は1になれないので2です。1行5列と5行7列のどちらかは必ず2になります。
1行7列は、1行目で1行5列と、7列目で5行7列とつながっています。1行7列から2を消せます。候補{1, 2}のマスが2つ離れて見えたら、どちらかの数字の強いリンクでつながっていないかを探してください。
手筋13:XYZ-Wing
結論:XY-Wingの真ん中のマスが、候補3つ{X, Y, Z}になった形です。消せるのは、真ん中を含む3マスすべてを見ているマスだけです。
図の真ん中(オレンジ)は6行8列で、候補は{5, 7, 9}です。6行8列とつながるマスに、5行8列{5, 7}と6行2列{7, 9}があります。3マスに共通する候補は7です。
6行8列が5なら5行8列が7、9なら6行2列が7、7ならそのまま7です。3マスのどれかは必ず7になります。XY-Wingと違って真ん中自身が7になりうるので、消せるのは3マスすべてを見ているマスに限られます。
6行9列は、6行目で6行8列と6行2列と、右の中段のブロックで5行8列とつながっています。6行9列から7を消せます。
手筋14:ユニークレクタングル
結論:2行・2列・2ブロックにまたがる長方形の4隅のうち、3マスの候補が同じ{A, B}だけなら、残りの1マスからAとBを消せます。答えが1つだけの問題でしか使えません。
図は候補{3, 7}の例です。4行7列・5行3列・5行7列の候補は、どれも{3, 7}だけです。4つ目の角の4行3列には、3と7のほかに1・4・6・8が残っています。
もし4行3列も3か7になると、4隅は3と7だけで埋まります。そうすると、4隅の3と7を入れ替えた盤面も、同じようにルールを満たしてしまいます。答えが2通りできてしまうので、答えが1つの問題ではこの形になりません。したがって4行3列から3と7を消せます。
4隅が2つのブロックに収まっていることが条件です。4隅がすべて別のブロックにあると、入れ替えた盤面がブロックのルールを満たさないことがあり、この理屈が成り立ちません。
答えが1つだと保証されていない問題では使わないでください。その前提が崩れていると、正しい候補を消してしまうことがあります。
ソードフィッシュを後回しにしていい理由
結論:井桁を3行に広げたソードフィッシュは、7つの手筋で詰まった局面の1.8%でしか使えませんでした。先に手筋8〜14を覚えたほうが、止まった問題が進みます。
ソードフィッシュは、ある数字の候補が3つの行でそれぞれ同じ3つの列の中に収まっているとき、その3列の他の行から数字を消す手筋です。井桁の延長なので理屈はわかりやすく、井桁と並べて紹介されることもあります。
ただ、今回の6,000問では出番がほとんどありませんでした。4行・4列に広げたジェリーフィッシュは0.8%です。形の大きい手筋ほど、成立する局面が少ないということでもあります。
実際に解いて確かめる
手筋8〜14は、候補をメモしておかないと見つけられません。候補の書き漏れがあると、強いリンクを取り違えて、消してはいけない数字を消してしまいます。
このブログで公開しているナンプレ(数独)は、各マスに候補を書き込めるメモ機能があります。9×9のhardかexpertで、候補を全部書き込んでから、1つの数字だけに注目して強いリンクを探す練習をしてみてください。
関連する記事
▶ 数独(ナンプレ)の解き方7つの手筋|覚える順番と詰まったときの見直し方…手筋1〜7(単独候補から井桁まで)
▶ Rin Blog Apps…このブログで公開しているWebアプリ・ゲームの一覧
まとめ
▼要点
① 井桁までの7つで解けたのは6,000問中3,664問(61.1%)
② 詰まった局面で使えた割合は、ツーストリングカイト47.3%・W-Wing 36.3%・シンプルカラーリング34.1%・スカイスクレイパー28.9%
③ よく次に挙がるソードフィッシュは1.8%。後回しでいい
④ 覚える順番は、1つの数字を見る手筋(8〜10)→候補2つのマスを使う手筋(11〜13)→ユニークレクタングル
⑤ ユニークレクタングルは答えが1つの問題でだけ使う
どの手筋も、既存記事と同じく「この数字はこの範囲のどこかに必ず入る。だから範囲の外は消せる」という1つの理屈の組み合わせです。手筋8〜13では、その「どこかに必ず入る」を強いリンクや候補2つのマスでつないで、離れたマスまで届かせています。
※手筋の呼び名は資料によって異なります(ツーストリングカイト=2-String Kite、シンプルカラーリング=Simple Coloringなど)。集計は筆者がPythonで作った答えが1つの問題6,000問によるもので、市販の問題集とは傾向が違う可能性があります。2026年9月12日に集計しました。