見出し画像

2023/12/25出題のナンプレの解説

2023年12月25日にPuzzle Square JP(puzsqアドベントカレンダー2023)に投稿した数独(ナンプレ)の解説を行います。

問題はこちらから遊べます。
本問は「数独」として見た場合、レギュレーション違反(表出点対称でない、使用する手筋の難易度超過)を起こしているので、以下「ナンプレ」で統一します。

そんなわけで初期盤面です、12/25

ここでナンプレの解説をするのは初めてなので、最初にいくつかの用語を定義しておきます。

各縦列をc1~9(column)、各横行をr1~9(row)で表します。
特定のマスを指定する際は、これを組み合わせて表現します。
たとえば中央のマスなら「r5c5」というような感じです。
「r5c45」と書いた場合は、「r5c4」「r5c5」の2マスを指します。

また、ナンプレは「各行、各列、各ブロックに1~9の数字を重複なく入れる」というパズルですが、
この「1~9の数字が重複なく出現する各行、各列、各ブロック」のことを、まとめて「ユニット」と表記します。

たとえばr2c2に「5」が入った場合、黄色で示したマスには5を入れることができなくなります。
このように、あるマスに入った数字が影響を及ぼす範囲のことを「影響範囲」とか、「(あるマスから)見ることのできるマス」と呼ぶことにします。

では解いていきましょう。

基本的な考え方で、とりあえず黄色で示したマスは埋めることができます。

さて、いきなりですがこの先が難しいです。
このままだと検討がしにくいので、各マスに入り得る数字(候補数字)を調べてみることにします。
(この候補数字のことを「Pencil Mark」といったりもします)

左上ブロックに注目すると、2が入る場所がr23c2のどちらかであることが分かります(現時点ではどちらかまでは確定できません)。
どちらのマスに入ったとしても、c2の列に関して左下ブロックに2が入ることはありませんね。

これはニコリでは「いずれにしても理論」として説明されている手筋(海外ではLocked Candidatesと呼ばれる)ですが、
この形は見つけやすいので、Pencil Markを振るときに併せて考えておくとスムーズです。

というわけで、Locked Candidatesを考えながら候補数字を全て書き出すと、次の図のようになります。

ここから、あるユニットのうち、
 ・n種類の候補数字が特定のnマスにしか出現しない
 ・特定のnマスに現れる候補数字がn種類のみである
ことを使った候補数字の絞り込みもできます(ニコリではnマスの予約といわれる、他にn国同盟とかHidden/Naked Setといわれたりもする手筋)が、
本筋には関係しないのでこのまま進めますね。

この先、注目すべきなのはこの4マスです。

数字「4」に注目します。
c3列において、4が入り得るマスはAかBかのどちらかです。
そして、BとCは同じブロックにあって、
r1行において、4が入り得るマスはCかDかのどちらか、という状況です。
※BCが所属するブロック内で4が2択になっている必要はありません

もし、Aが4でなかった場合、
c3列で4が入り得るマスがAかBかのどちらかしかないわけなので、Bが4になります。
そうなると、Cは4ではないので、r1行において以下略より、Dが4になります。

よって、Aが4でないならDが4になるため、
AかDのどちらかに必ず4が入ることがわかります。

すなわち、AとDの両方のマスから見ることのできる、r8c8に4を入れることはできません。
r8c8が4になると、AにもDにも4を入れられなくなってしまうからです。
(これにより、r8c8 = 1が確定します)

このように、ある数字Xが入り得るマスが特定のユニット内で2択になっていて、その2択が別のユニットを介しながら連鎖している場合、上記のような考え方を使って候補数字を絞り込むことができます。
この手筋は「2-String Kite」と呼ばれるものです。
ニコリの数独でこのような考え方が必要になる問題はありません。

r8c8 = 1が決まったことで、少し盤面が進みます。

次に、r3行に注目しましょう。

r3c238の3マスは、候補数字がそれぞれ「238」「38」「23」となっています。
この中に3種類の数字(2、3、8)しか出てこないため、どこに何が入るかは分かりませんが、この3マスの中に2、3、8が出てくることは確定しています。予約されている、と言ってよさそうですね。
というわけで、r3の他のマスに2、3、8を入れることはできません(3マスの予約 / 3国同盟 / Naked Triple)。

というわけで、r3c9から候補数字2が消えます。

次が最後です。
この3マスに注目します。

それぞれ別のユニットを通じて、13→36→61、と輪環の順のようにつながっているようです。
2-String Kiteのときと同じように考えると、Aが1でない場合、
Aは3になるので、Bが6、Cが1になります。
よって、AかCかのどちらかに必ず1が入るので、

AとCの両方から見ることのできる、r2c7およびr4c9の2マスには1を入れることができません。
(これにより、r2c7 = 5とr4c9 = 2が確定します)
この場合は3マスなので、実際にr2c7やr4c9に1を入れて破綻することを考えた方が分かりやすいかもしれません。

このように、「XY」「YZ」「ZX」という片方を共有する2択の数字が別のユニットを介して3マス分連鎖している場合、上記のような考え方を使って候補数字を絞り込むことができます。
この手筋は「XY-Wing」と呼ばれるもので、やっぱりニコリの数独には登場しません。

実は2択の数字が片方を共有しながら連鎖している場合、3マスに限らずとも同様の推論が可能で、「XY-Chain」と呼ばれる手筋になります。
XY-Wingは、XY-Chainの最もシンプル(短い)な形だと覚えておくといいかもしれません。
なお、任意長の有効な(候補数字を消すことができる)XY-Chainを見つけるのは非常に難しいです。考え方に困ったときは「このマスがXでない場合……」と考えるのがコツですよ。

さて、r2c7とr4c9が決まった後は特に難所はありません。
基本的な考え方で残りの全てのマスを埋めることができます。

完成図
ヤジリンと違って「後は埋めれば答えとなります」から長いんですよね。。。

解説は以上です。

僕にとってはナンプレはとても好きなパズルで、過去に旧Twitterで「日刊ナンプレ」という企画をやっていたくらいなのですが、
ネットペンパというくくりで見るとどうしても時間がかかるのがネックで、しかも他のパズルにあるような「ネットペンパツールならではの補助」も一切ないので、
やっぱり「つらいなぁ」というのが今回のアドベントカレンダーを見ていて思うことでした。

6×6くらいの問題ならまだしも、9×9の問題は(他パズル種と比較しても)目に見えて解答登録者数が少なく、
やっぱり解くの大変だよなぁと思わずにはいられません。

そんなわけで、ここまで長々とお付き合いいただき、本当にありがとうございましたm(_ _)m

この記事が気に入ったらサポートをしてみませんか?