ライン排除原理
トップページにも書きました通り、
数字が入っていること
(または同一ライン上のどちらかのセルに数字が入ることが確定していること)
によって、
ライン上にその数字が入る可能性が否定されている状態を
ライン排除と名付けます。
数字8があることによって、
8の入っているライン
などに8が入る可能性を消しています。
8自身が自分のあるライン上に8が入る可能性を排除しているのです。
← | ← | ← | ← | 8 | → | → | → | → |
その結果
に8が入ることが確定します。
このようにこのサイトでは、
確定したセル(ます)に数字を埋めていくことによって数独(ナンプレ)を解きます。
適当に数字を仮定して、進めていくと矛盾が起きるので、
その数字を否定するという背理法は一切使いません。
数独(ナンプレ)をシンプルに解くことを目標にしているからです。
数独・ナンプレをわかりやすく解く・・・がこのサイトの神髄です。
この例のように2行2列
(本サイトでは横列を行と呼び、
縦列を単に列と言います。)
によるライン排除がある場合は、
100%確定しますので、
数独を解く際には、
最初は2行2列すなわち4本のライン排除がないかを調べます。
ですが、2行2列すなわち4本ライン排除がない場合でも
確定する場合が多々あります。
場合によってはたった1本のライン排除によって確定することもあります。
では様々なケースを見てみましょう。
以下の例はすべて
が8に確定します。
2行1列排除
1行2列排除
2行排除
1行谷間排除
たった1本のライン排除で確定しています。
今までの例は、
すべてブロック内のセルを確定させるために
ライン排除を使ってきましたが、
ライン排除によって列や行内のセルも決定する場合もあります。
行内のセルが2列排除によって決まる例
行内のセルが3列排除によって決まる例
行内のセルが3列排除とブロック排除によって決まる例
列内のセルがブロック排除と1列排除によって決まる例
数字がセルに入っていなくてもライン排除が起きる場合があります。
同一ライン上におけるどちらかのセルに数字が入ることが確定している場合です。
8 | 8 |
8 | 8 |
はどちらかのセルに8が
入ることが確定している状態を表しています。
具体例を書いてみましょう。
2つの8のライン排除によって、
8 | 8 |
どちらかのセルに8が入ることが確定します。
その結果、ライン排除が起きて
赤のセルに8が入ることが確定します。
尚、
の
8 | 8 |
のようにどちらかのセルに8が入ることが確定する状態になったことを、
『8が割った』『8が割られた』『8によって割られた』などと呼ぶことにします。
2つの行(ないしは2つの列)に渡って、
数字が割られている場合2列(ないしは2行)排除がおき、
8の入る場所は
に限定されます。
2つのラインに挟まれて数字の入るブロック内ラインが確定することを、
挟撃ライン確定と名付けます。
尚、
の場合
は2つの列に挟まれているわけではありませんが、
この場合も挟撃ライン確定と呼ぶことにします。
数独 フリーソフト 数独自動生成無料アプリ 難問 作成 プログラム
魔方陣 数独で学ぶ 初心者のための VBA 入門 基礎から応用まで
VB講義へ
VB講義基礎へ
vc++講義へ第1部へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための VC++による C言語 入門 C++ 入門
基礎から応用まで第1部
初心者のための VC++による C言語 入門 C++ 入門
基礎から応用まで第2部
初心者のための
VC++による C言語 入門 C++ 入門 基礎から応用まで第3部
本サイトトップへ