1、数独方法(一)直观法数独直观法指的是不需要任何辅助工具,刚刚看到数独题的时候就可以立即开始解题。数独直观法解题技巧主要有:唯一解法、基础摒除法、唯余解法、区块摒除法、组合摒除法、矩形摒弃法。1唯一解法如果某行已填数字的单元格达到 8 个,那么该行剩余单元格能填的数字就只剩下那个还没出现过的数字;同理,如果某列已填数字的单元格达到 8 个,那么该列剩余单元格能填的数字就只剩下那个还没出现过的数字;如果某九宫格已填数字的单元格达到 8 个,那么该九宫格剩余单元格能填的数字就只剩下那个还没出现过的数字。这应该算是直观法中最简单的方法了。基本上只需要看谜题,推理分析一概都用不上,这是因为要使用它所需满
2、足的条件十分明显。同样,也正是因为它简单,所以只能处理很简单的谜题,或是在处理较复杂谜题的后期才用得上。如左图,观察行 B,我们发现除了 B3 单元格以外其余的八个单元格已经填入了1、2、4、5、6、7、8、9,还有 3 没有填写,所以 3 就应该填入 B3 单元格。这是行唯一解法。如左图,观察第 7 列,我们发现除了 F7 单元格以外其余的八个单元格已经填入了1、2、3、4、5、6、7、9,还有 8 没有填写,所以 8 就应该填入 F7 单元格。这是列唯一解法。如左图,观察 D7F9 这个九宫格,我们发现除了 E7 单元格以外其余的八个单元格已经填入了1、2、3、4、6、7、8、9,还有 5
3、 没有填写,所以 5 就应该填入 E7 单元格。这是九宫格唯一解法。单元唯一法在解题初期应用的几率并不高,而在解题后期,随着越来越多的单元格填上了数字,使得应用这一方法的条件也逐渐得以满足。2基础摒除法基础摒除法是直观法中最常用的方法,也是在平常解决数独谜题时使用最频繁的方法。单元排除法使用得当的话,甚至可以单独处理中等难度的谜题。使用单元排除法的目的就是要在某一单元(即行,列或区块)中找到能填入某一数字的唯一位置,换句话说,就是把单元中其他的空白位置都排除掉。那么要如何排除其余的空格呢?当然还是不能忘了游戏规则,由于 19 的数字在每一行、每一列、每一个九宫格都要出现且只能出现一次,所以:如
4、果某行中已经有了某一数字,则该行中的其他位置不可能再出现这一数字;如果某列中已经有了某一数字,则该列中的其他位置不可能再出现这一数字;如果某区块中已经有了某一数字,则该区块中的其他位置不可能再出现这一数字。基础摒除法可以分为行摒除、列摒除和九宫格摒除。如左图,观察 D1F3 这个九宫格。由于 I1 格有数字 9,所以第 1 列其它所有单元格都不能填入 9;由于 B2 格有数字 9,所以第 2 列其它所有单元格都不能填入 9;由于 D8 格有数字 9,所以行 D 其它所有单元格都不能填入 9。这样,D1 F3 这个九宫格内只有 E3 单元格能够填入数字 9。所以 E3 单元格的答案就是 9。如左
5、图,观察行 H。由于 C3 格有数字 4,所以第 3 列其他所有单元格不能填入数字 4;由于 E8 格有数字 4,所以第 8 列其他所有单元格不能填入数字 4;由于 I4 格有数字 4,所以 G4I6 这个九宫格内其他所有单元格不能填入数字 4。这样行 H 中能够填入数字 4 的单元格只有 H9。所以 H9 单元格的答案就是 4。如左图,观察第 7 列。由于 B2 单元格有数字 1,所以行 B 其他所有单元格都不能填入 1;由于 F4 单元格有数字 1,所以行 F 其他所有单元格都不能填入 1。这样第 7 列只有 A7 单元格能够填入数字 1。所以 A7 单元格的答案是 1。通过上面的示例,可
6、以看到,要对九宫格使用基础摒除法,需要观察与该九宫格相交的行和列。要对行使用基础屏除法,需要观察与该行相交的九宫格和列。要对列使用基础摒除法,需要观察与该列相交的九宫格和行。 在实际解题过程中,行、列和九宫之间的关系并不象上面这些图中所示的那么明显,所以需要一定的眼力和细心观察。一般来说,先看哪个数字在谜题中出现得最多,就从哪个数字开始下手,找到还未填入这个数字的单元(行,列或九宫格) ,利用已填入该数字的单元格与单元之间的关系,看能不能排除一些不可能填入该数字的位置,直到剩下唯一的位置。如果害怕搞不清已经处理过哪些数字的话,可以从数字 1 开始,从左上角的九宫格开始一直检查到右下角的九宫格,
7、看能不能在这些九宫格中应用单元排除法。然后测试数字 2,以此类推。3唯余解法唯余解法是直观法中较不常用的方法。虽然它很容易被理解,然而在实践中,却不易看出能够使用这个方法的条件是否得以满足,从而使这个方法的应用受到限制。与唯一解法相比,唯余解法是确定某个单元格能填什么数的方法,而唯一解法是确定某个数能填在哪个单元格的方法。另外,应用唯一解法的条件十分简单,几乎一目了然。如左图,观察 G9 单元格。由于行 G 已经填入 3、5、6、 7、8、9,所以 G9 单元格不能再填入这六个数字;又由于第 9 列已经填入 1、5、7、8,所以 G9 单元格不能再填入这四个数字;由于 G7I9 九宫格内已经填
8、入 1、3、4、5、7、8,所以 G9 单元格不能再填入这六个数字。综合来看,就说明 G9 单元格不能填入 1、3、4、5、6、7、8、9 这八个数字,那样 G9 单元就只能填写 2,所以 G9 单元格的答案是2。总结一下,就是如果某一单元格所在的行,列及区块中共出现了 8 个不同的数字,那么该单元格可以确定地填入还未出现过的数字。怎么样,很简单吧,但在实践中却不那么容易识别。 一般来说,只有在使用基本的排除方法都失效的情况下,才试着使用这个方法来解题。4区块摒除法区块摒除法是直观法中进阶的技法。虽然它的应用范围不如基础摒除法那样广泛,但用它可能找到用基础摒除法无法找到的解。有时在遇到困难无法
9、继续时,只要用一次区块摒除法,接下去解题就会势如破竹了。 当某数字在某个九宫格中可填入的位置正好都在同一行上,因为该九宫格中必须要有该数字,所以这一行中不在该九宫格内的单元格上将不能再出现该数字。当某数字在某个九宫格中可填入的位置正好都在同一列上,因为该九宫格中必须要有该数字,所以这一列中不在该九宫格内的单元格上将不能再出现该数字。当某数字在某行中可填入的位置正好都在同一九宫格上,因为该行中必须要有该数字,所以该九宫格中不在该行内的单元格上将不能再出现该数字。当某数字在某列中可填入的位置正好都在同一九宫格上,因为该列中必须要有该数字,所以该九宫格中不在该列内的单元格上将不能再出现该数字。区块摒
10、除法实际上是利用区块与行或列之间的关系来实现的,这一点与基础摒除法颇为相似。然而,它实际上是一种模糊排除法,也就是说,它并不象基础摒除法那样利用谜题中现有的确定数字对行,列或九宫格进行排除,而是在不确定数字的具体位置的情况下进行排除的。如左图,能否判断 H6 单元格应该填入什么数字?如左图,由于 D2 单元格填入数字 2,所以第 2 列其它所有单元格不能填入数字 2。考察 G1I3 九宫格,数字 2 只能填入 I1 或 I3 单元格。无论数字 2 填入 I1 还是 I3,行 I 其它单元格均不能再填入数字 2。考察 G4I6 九宫格,数字 2 只能填入 H6 单元格,所以 H6 单元格的答案是
11、 2。如左图,能否判断 C9 单元格应该填入什么数字?如左图,由于 A4 单元格填入数字 5,行 A 其它所有单元格不能再填入数字 5;考察 G7I9 九宫格,数字 5 只能填入 H8 或 I8 单元格,而无论数字 5 填入 H8 还是 I8 单元格,第 8 列其它单元格都不能再填入数字 5。考察 A7C9 九宫格,数字 5 只能填入 C9 单元格,所以 C9 单元格的答案是 5。如左图,能否判断 B6 单元格应该填入什么数字?如左图,由于 C3 单元格填入数字 8,所以行 C 其它所有单元格不能再填入 8;由于 I8 单元格填入数字 8,所以行 I 其它所有单元格不能再填入 8。对于第 4
12、列,数字 8 只能填入 D4 单元格或 F4 单元格,而无论是填入 D4 还是 F4,D4F6 九宫格内其它单元格不能再填入数字 8。对于第 6 列,数字 8 只能填入B6 单元格,所以 B6 单元格的答案是 8。如左图,能否判断数字 3 应该填入 A1C3 九宫格中的哪个单元格?如左图,由于 C5 单元格填入数字 3,所以行 C 其它所有单元格都不能再填入数字 3。对于 A7-C9 九宫格,数字 3 只能填入 B8 单元格或 B9 单元格,而无论填入 B8 还是 B9,行 B 其它单元格都不能再填入数字 3。由于 D7 单元格填入数字 3,行 D 其它所有单元格都不能再填入数字 3;由于 G
13、3 单元格填入数字3,第 3 列其它所有单元格都不能再填入数字 3。对于 D1F3 九宫格,数字 3 只能填入 E2 单元格或 F2单元格,而无论填入 E2 还是 F2,第 2 列其他单元格都不能再填入数字 3。这样,对于 A1C3 九宫格,数字 3 只能填入 A1 单元格,所以 A1 单元格的答案是 3。5组合摒除法组合摒除法和区块摒除法一样,都是直观法中进阶的技法。组合摒除法,顾名思义,要考虑到某种组合。这里的组合既包括区块与区块的组合,也包括单元格与单元格的组合,利用组合的关联与排斥的关系而进行某种排除。它也是一种模糊摒除法,同样是在不确定数字的具体位置的情况下进行排除的。 如果在横向并
14、行的两个九宫格中,某个数字可能填入的位置正好都分别占据相同的两行,则这两行可以被用来对横向并行的另一九宫格做行摒除。如果在纵向并行的两个九宫格中,某个数字可能填入的位置正好都分别占据相同的两列,则这两列可以被用来对纵向并行的另一九宫格做列摒除。如左图,如何判断数字 6 在 G4I6 九宫格内的位置?我们根据 H3 单元格和 G9 单元格内的数字 6,可以判断 G4 和 H6 单元格不能填入数字 6。但是如何判断数字 6 应该填入 I5 和 I6 哪个单元格呢?如左图,由于 A1 单元格内填入数字 6,所以行 A 其它单元格都不能再填入数字 6,所以对于A4C6 九宫格,数字 6 只能填入 B5
15、 单元格或 C6 单元格;由于 E7 单元格内填入数字 6,所以行 E 其它单元格都不能再填入数字 6,所以对于 D4F6 九宫格,数字 6 只能填入 F5 单元格或 F6 单元格。由于B5 单元格和 F5 单元格在同一列,数字不能重复;C6 单元格和 F6 单元格在同一列,数字不能重复。所以如果 A4C6 九宫格内数字 6 填入 B5 单元格,那么 D4F6 九宫格内数字 6 就只能填入 F6 单元格;如果 A4C6 九宫格内数字 6 填入 C6 单元格,那么 D4F6 九宫格内数字 6 就只能填入 F5 单元格;无论是那种情况,第 5 列和第 6 列其它单元格都不能再填入数字 6。所以 G
16、4I6 九宫格内数字 6 不能填入 H6单元格和 I5 单元格,再根据前面分析出的数字 6 不能填入 G4 单元格,所以数字 6 只能填入 I4 单元格,也就是说 I4 单元格的答案是 6。如左图,如何判断数字 1 应该填入 D4F6 九宫格内哪个位置?如左图,由于 I2 单元格填入数字 1,所以第 2 列其它单元格不能再填入数字 1,所以对于 D1F3 九宫格,数字 1 只能填入 D1 单元格、 D3 单元格和 E1 单元格;由于 H7 单元格填入数字 1,所以第 7 列其它单元格不能再填入数字 1,由于 A9 单元格填入数字 1,所以第 9 列其它单元格不能再填入数字 1,对于 D7F9
17、九宫格,数字 1 只能填入 D8 单元格或 E8 单元格。由于 D1F3 九宫格和 D7F9 九宫格的互相影响,所以在这两个九宫格内数字 1 分别填入行 D 和行 E,所以对于 D4F6 单元格,数字 1 不能填入行 D 和行 E。由于 G4 单元格填入数字 1,所以第 4 列其它单元格不能填入数字 1。对于 D4F6 九宫格,数字 1 只能填入 F6 单元格,也就是说 F6 单元格的答案是 1。下面是其它一些使用组合摒除法的例子:6矩形摒除法矩形摒除法的原理类似于组合摒除法,是专门针对某个数字可能填入的位置刚好构成一个矩形的四个顶点时使用的摒除法。如果一个数字在某两行中能填入的位置正好在同样
18、的两列中,则这两列的其他的单元格中将不可能再出现这个数字;如果一个数字在某两列中能填入的位置正好在同样的两行中,则这两行的其他的单元格中将不可能再出现这个数字。如左图,如何判断数字 8 在 G1I3 九宫格内应该填入哪个位置?由于 B2 单元格填入数字 8,所以第 2 列其它单元格不能再填入 8;由于 E3 单元格填入数字 8,所以第 3 列其它单元格不能再填入 8。这样,G1I3 九宫格内的 G2 单元格、 G3 单元格、H2 单元格和 I3 单元格不能填入数字 8。那么如何判断数字8 应该填入 G1 还是 I1 呢?如左图,由于 B2 单元格填入数字 8,所以行 B 其它单元格不能再填入数
19、字 8;由于 E3 单元格填入数字 8,所以行 E 其它单元格不能再填入数字 8;由于 F4 单元格填入数字 8,所以行 F 其它单元格不能再填入数字 8。所以,对于第 6 列,数字 8 只能填入 C6 单元格或 I6 单元格;对于第 9 列,数字 8 只能填入 C9 单元格或 I9 单元格。由于 C6 单元格和 C9 单元格同处于行 C,它们的数字不能相同;I6 单元格和I9 单元格同处于行 C,它们的数字也不能相同。所以如果第 6 列内,数字 8 填入 C6,那么第 9 列内数字8 就应该填入 I9;如果第 6 列内,数字 8 填入 I6,那么第 9 列内数字 8 就应该填入 C9。无论哪
20、种情况,行 C 和行 I 其它单元格都不能再填入数字 8。又由于 B2 单元格填入数字 8,所以第 2 列其它单元格都不能再填入数字 8;由于 E3 单元格填入数字 8,所以第 3 列其它单元格都不能再填入数字 8。所以对于G1I3 九宫格,数字 8 只能填入 G1 单元格,所以 G1 单元格的答案是 8。如左图,如何判断 G1I3 九宫格内数字 4 的位置?如左图,由于 D6 单元格填入数字 4,所以第 6 列其它单元格不能填入 6,对于行 F,数字 4 只能填入 F1 单元格或 F3 单元格。由于 C5 单元格填入数字 4,所以 A4C6 九宫格其它单元格不能填入数字4;由于 H8 单元格
21、填入数字 4,第 8 列其它单元格不能再填入数字 4,对于行 B,数字 4 只能填入 B1 单元格或 B3 单元格。于是数字 4 在行 B 和行 F 能填入的所在列只能是第 1 列和第 3 列。所以在其他行,数字 4 不能填入第 1 列和第 3 列。由于 I4 单元格填入数字 4,所以行 I 其它单元格都不能再填入数字 4;由于 H8 单元格填入数字 4,所以行 H 其它单元格都不能再填入数字 4。对于 G1I3 九宫格,数字 4 只能填入 G2 单元格,所以 G2 单元格的答案是 4。下面是应用矩形排除法的其他一些例子,希望可以帮助大家快速掌握这种方法:(二)候选数法使用候选数法解数独题目需
22、先建立候选数列表,根据各种条件,逐步安全的清除每个宫格候选数的不可能取值的候选数,从而达到解题的目的。候选数也叫可能数。由于每行、每列和每个九宫格内填入的数字不能重复,根据这个要求,我们只要从1 ,2,3,4,5,6,7, 8,9 中去掉某个单元格所在行、所在列和所在九宫格中出现过的数字,就得到了这个单元格对应的候选数列表。使用候选数法一般能解比较复杂的数独题目,但是候选数法的使用没用直观法那么直接,需要先建立一个候选数列表的准备过程所以实际使用时可以先利用直观法进行解题,到无法用直观法解题时再使用候选数方法解题。候选数法解题的过程就是逐渐排除不合适的候选数的过程,所以在进行候选数删除的时候一
23、定要小心,确定安全的删除不合适的候选数。数独直观法解题技巧主要有:唯一候选数法、隐性唯一候选数法、 候选数区块删减法、候选数对删减法、隐性候选数对删减法、三数集删减法、隐性三数集删减法、候选数矩形删减法、三链数删减法、XY 形态匹配删减法、XYZ 形态匹配删减法、WXYZ 形态匹配删减法。1唯一候选数法唯一候选数法是候选数删减法中最简单的一种方法,就是通览所有单元格的候选数列表,如果哪个单元格中只剩下一个候选数,就可应用唯一候选数法,在该单元格中填入这个数字,并在相应行,列和九宫格的其它单元格候选数列表中删除该数字。如左图,C4 单元格的候选数列表中只有数字 4,所以说明只有数字 4 才能填入
24、 C4 单元格,我们将 4填入 C4,并且在行 C、第 4 列和 A4C6 九宫格内其它单元格候选数列表中删除数字 4,结果如下图。如左图,整理候选数列表后,C6 单元格的候选数列表变为只有数字 9,于是继续应用唯一候选数法,将数字 9 填入 C6,并在行 C、第 6 列和 A4C6 九宫格内其它单元格候选数列表中删除数字 9。后面以此类推,继续应用唯一候选数法,直到所有单元格的候选数列表都含有两个以上数字为止。2隐式唯一候选数法顾名思义,隐式唯一候选数法也是唯一候选数法的一种,但它不如显式唯一候选数法那样显而易见。由于 19 这 9 个数字要在每行、每列和每个九宫格内至少出现一次,所以如果某
25、个数字在某行、某列或是某个九宫格内所有单元格的候选数列表中只出现一次,那么这个数字就应该填入它出现的那个单元格内,并且从该格所在行、所在列和所在九宫格内其它单元格的候选数列表中删除该数字。 如左图,考察第 3 列,四个空白单元格的候选数列表分别为6,7,0 ,7 ,1,7,9 ,1,7,9,其中 6 只在 A3 单元格的候选数列表中出现,所以将 6 填入 A3 单元格,并且从行 A、第 3 列和 A1C3九宫格内其它单元格的候选数列表中删除数字 6。又如 G7I9 九宫格中,数字 9 仅在 I8 单元格中出现。所以将 9 填入 I8 单元格,并且将 9 从行 I、第8 列和 G7I9 九宫格中
26、其它单元格的候选数列表中删去。3候选数区块删减法候选数区块删减法也是比较常用的方法,它的目的是尽量删减候选数,而不一定要生成某一单元格的唯一解(当然,产生唯一解更好) 。候选数区块删减法是利用九宫格中的候选数和行或列上的候选数之间的交互影响而实现的一种删减方法。在某一九宫格中,当所有可能出现某个数字的单元格都位于同一行时,就可以把这个数字从该行的其他单元格的候选数中删除;在某一九宫格中,当所有可能出现某个数字的单元格都位于同一列时,就可以把这个数字从该列的其他单元格的候选数中删除;在某一行(列)中,当所有可能出现某个数字的单元格都位于同一九宫格中时,就可以把这个数字从该九宫格的其他单元格的候选
27、数中删除。如左图,考察 D4F6 九宫格,数字 4 只在第 5 列三个单元格的候选数列表中出现,所以在 D4F6九宫格中数字 4 就必然会填入第 5 列的某个单元格内,这样,第 5 列的其它单元格就不能再填入数字 4,所以将第 5 列其它单元格的候选数列表中删除数字 4。所以 A5 单元格的候选数列表变成1 ,3,5,6,7,B5 单元格的候选数列表变成 3,C5 单元格的候选数列表变成5,6,7 。再考察 A7C9 九宫格,数字 4 只在行 A 三个单元格的候选数列表中出现,应用候选数区块删减法,可以将行 A 的其它单元格的候选数列表中的数字 4 删去。于是 A1 单元格的候选数列表变成3,
28、5,7,9,A2 单元格的候选数列表变成 3,5,7,A3 单元格的候选数列表变成5,9 ,A5 单元格的候选数列表变成1 ,3,5,6,7,9,A6 单元格的候选数列表变成5 ,7,8。如左图,考察行 E,数字 4 只在 D4F6 九宫格的几个单元格候选数列表中出现,应用候选数区块删减法,可以将 D4F6 九宫格内其它单元格的候选数列表中的数字 4 删去。所以 D7 单元格的候选数列表变成3 ,7,8,D8 单元格的候选数列表变成7 ,8。再考察第 4 列,数字 2 只在 G4I6 三个单元格的候选数列表中出现,应用候选数区块删减法,可以将 G4I6 的其它单元格的候选数列表中的数字 2 删
29、去。于是 H5 单元格的候选数列表变成3,5。4候选数对删减法候选数对删减法依据的原理是数字 19 在同一行、同一列和同一九宫格内不能出现 2 次或 2 次以上。这样,如果在同一行、同一列和同一九宫格内两个单元格的候选数列表都是a,b ,那么如果其中一个单元格填入的数字为 a,另一个单元格填入的数字就应该是 b;反之,如果其中一个单元格填入的数字为b,另一个单元格填入的数字就应该是 a。也就是说,a,b 两个数字就应该分别填入这两个单元格,所以该行、该列或是该九宫格内其它单元格就不应该再填入数字 a 和 b。所以候选数对删减法就是:在一个行、列或九宫格中,如果有两个单元格都包含且只包含相同的两
30、个候选数,则这两个候选数字应该从该行、该列列或该九宫格的其他单元格的候选数列表中删去。如左图,考察 F4 单元格和 F6 单元格,候选数列表均为7, 9。由于 F4,F6 单元格都处于 D4F6九宫格中,所以可以从 D4 F6 九宫格其它单元格的候选数列表中将数字 7 和数字 9 删去,所以 F5 单元格的候选数列表为2。又因为于 F4,F6 单元格都处于行 F,所以可以从行 F 其它单元格的候选数列表中将数字 7 和数字 9删去。所以 F1 单元格的候选数列表变为1 ,4, 6,8 ,F2 单元格的候选数列表变为1 ,2,8,F5 单元格的候选数列表变为2,F7 单元格的候选数列表变为 3,
31、8,F8 单元格的候选数列表变为1,6,8,F9 单元格的候选数列表变为1 ,3,6,8。再考察 D1 单元格和 H1 单元格,它们的候选数列表均为 6,7。由于它们都位于第 1 列,所以可以从第 1 列其它单元格的候选数列表中将数字 6 和数字 7 删去。这样 E1 单元格的候选数列表变为1,8,9 ,F1 单元格的候选数列表变为1 ,4,8,9,G1 单元格的候选数列表变为3,8,I1 单元格的候选数列表变为3 ,8。5隐性候选数对删减法隐性候选数对删减法依据的原理是数字 19 在同一行、同一列和同一九宫格内至少要出现一次。这样,如果某两个数字 a 和 b 在同一行、同一列和同一九宫格内只
32、在两个单元格的候选数列表中出现,那么该行、该列或是该九宫格内其它单元格就不应该再填入数字 a 和 b,所以 a 和 b 只能在这两个单元格中出现,所以这两个单元格的候选数列表就都应该是a,b,可以将其他的数字从这两个单元格的候选数列表中删去。所以隐性候选数对删减法就是:在同一行,列或区块中,如果一个数对(两个数字)正好只出现且都出现在两个单元格中,则这两个单元格的候选数中的其他数字可以被删除。如左图,考察行 A,由于数字 3 和 6 只在单元格 A4 和 A8 中出现,也就是说这两个数字都不可能在行 A 其它单元格中出现,所以 A4 单元格和 A8 单元格的候选数列表就都是3,6,可以将数字
33、9 从 A4单元格和 A8 单元格的候选数列表中删去。如左图,考察第 1 列,由于数字 2 和 9 只在单元格 G1 和 I1 中出现,应用隐性候选数对删减法,G1单元格和 I1 单元格的候选数列表就都是 2,9,可以将其它数字从 G1 单元格和 I1 单元格的候选数列表中删去。如左图,考察 D4F6 九宫格,由于数字 2 和 8 只在单元格 F4 和 D6 中出现,应用隐性候选数对删减法,F4 单元格和 D6 单元格的候选数列表就都是2,8,可以将其它数字从 F4 单元格和 D6 单元格的候选数列表中删去。6三数集删减法三数集删减法的原理类似于候选数对删减法。候选数对删减法要求同样的 2 个
34、数字都出现在某行、列或九宫格的 2 个单元格中,且这 2 个单元格的候选数不能包含其他的数字。同样,三数集删减法要求的是 3 个数字要出现在 3 个位于同一行、列或九宫格的单元格中,且这 3 个单元格的候选数中不能包含其他数字。但不同的是,三数集删减法不要求每个单元格中都要包含这 3 个数字。例如,对于数字集2, 4,5,如果在某行,列或区块中有 3 个单元格的候选数分别为下面几种情况时,都可应用三数集删减法: 2,4,5、2,4,5、2 ,4,5 ;2,4 、4 ,5 、2 ,5;2,4,5、2,5、4 ,5 ;2,4,5、4,5、2 ,4,5 ;也就是说,要形成三数集,则必须要有 3 个在
35、同一行、列或九宫格中的单元格,每个单元格中至少要有 2 个候选数,且它们的所有候选数字也正好都是一个三数集的子集。这个三数集中的 3 个数字只能填入这 3 个单元格中,所以该行、列或九宫格中其他的单元格中不可能再填入这 3 个数字。 但要注意的是,2,4,5、2,4 、2,4 这种情况不是三数集。其中2,4和2 ,4可应用候选数对删减法,所以第一个候选数列表2,4,5 将只能剩下候选数 5,这时就可应用唯一候选数法了。如左图,考察行 D,由于单元格 D1、D7 和 D8 的候选数列表都是3,5,9 ,它们构成三数集3, 5,9。所以数字 3、5 和 9 只能填入单元格 D1、D7 和 D8,这
36、样,行 D 其它单元格就不能再填入数字 3、5 和 9。所以单元格 D4 和 D6 的候选数列表均变为 1,7。如左图,考察第 2 列,由于单元格 G2、H2 和 I2 的候选数列表分别为2,6、2 ,5、2,5,6,它们构成三数集2,5,6。所以数字 2、5 和 6 只能填入单元格 G2、H2 和 I2,这样,第 2 列其它单元格就不能再填入数字 2、5 和 6。所以单元格 A2 的候选数列表变为3,单元格 B2 的候选数列表变为3, 7,8,E2 的候选数列表均变为7,8 。又因为单元格 G2、H2 和 I2 都处于 G1I3 九宫格。所以 G1I3 九宫格其它单元格就不能再填入数字 2、
37、5 和 6。所以单元格 G1 和 H1 的候选数列表变为1,9。如左图,考察 D7F9 九宫格,由于单元格 D8、D9 和 E9 的候选数列表分别为4,9、4 ,8,9、8, 9,它们构成三数集4, 8,9 。所以数字 4、8 和 9 只能填入单元格 D8、D9 和 E9,这样,D7F9其它单元格就不能再填入数字 4、8 和 9。所以单元格 E7 和 E8 的候选数列表变为3,5 。根据候选数对删减法和三数集删减法的推断,我们还可以使用四数集删减法、五数集删减法但是后面的几个删减法相对比较少见。7隐性三数集删减法隐性三数集删减法相对于三数集删减法就类似于隐形候选数对删减法相对于候选数对删减法。
38、当某个 3 个数字只出现在某行、列或九宫格的 3 个单元格中,且每个单元格中至少包含有其中的 2 个数字时,则可以把其他数字从这 3 个单元格的候选数中删除。如左图,考察行 H,由于数字 5、8 和 9 只出现在单元格 H1、H3 和 H5 的候选数列表中,它们构成隐性三数集,可以应用隐性三数集删减法。所以可以删去单元格 H1、H3 和 H5 的候选数列表中除数字5、8 和 9 以外的数字。所以单元格 H1 的候选数列表变为5 ,9,单元格 H3 的候选数列表变为8,9 ,单元格 H5 的候选数列表变为 5,8。根据隐性候选数对删减法和隐性三数集删减法的推断,我们还可以使用隐性四数集删减法、隐
39、性五数集删减法但是后面的几个删减法相对比较少见。8候选数矩形删减法候选数矩形删减法类似于直观法中的矩形摒除法。如果一个数字正好出现且只出现在某两行的相同的两列上,则这个数字就可以从这两列上其他的单元格的候选数中删除;如果一个数字正好出现且只出现在某两列的相同的两行上,则这个数字就可以从这两行上的其他单元格的候选数中删除。如左图,考察行 B 和行 G,数字 7 只出现在单元格 B2、B7 、G2 和 G7 的候选数列表中,也就是说只出现在第 2 列和第 7 列。这样,如果数字 7 在行 B 填入 B2,则它在行 G 填入 G7;反之如果数字 7 在行 B 填入 B7,则它在行 G 填入 G2。无
40、论是那种情况,数字 7 一定会填入第 2 列和第 7 列,所以这两列其它单元格的候选数列表中不应该出现 7。所以可以把数字 7 从第 2 列和第 7 列其它单元格的候选数列表中删去。如左图,考察第 1 列和第 7 列,数字 9 只出现在行 C 和行 G。这样,可以应用候选数矩形删减法,把数字 9 从行 C 和行 G 其它单元格的候选数列表中删去。9三链数删减法三链数删减法类似于矩形删减法,是矩形删减法的推广。三链数删减法指的是如果某个数字在某三列中只出现在相同的三行中,则这个数字将从这三行上其他的候选数中删除;或者如果某个数字在某三行中只出现在相同的三列中,则这个数字也将从这三列上其他的候选数
41、中删除。下面我们看几个例子:如左图,考察第 1 列、第 4 列和第 5 列。我们发现数字 9 只在单元格 A1、E1、E4、A5 和 I5 的候选数列表中出现,也就是说数字 9 在第 1 列、第 4 列和第 5 列中仅在行 A、行 E 和行 I 三行中出现。这样数字 9 就可以从这三行其它单元格的候选数列表中删去,所以单元格 A6 的候选数列表变为2 ,5,8,单元格 E2 的候选数列表变为5 ,8 。如左图,考察行 C、行 F 和行 H。数字 6 只出现在第 5 列、第 7 列和第 8 列,可以应用三链数删减法。所以可以把数字 6 从第 5 列、第 7 列和第 8 列其它单元格的候选数列表中
42、删去。所以单元格 G7 的候选数列表变为1,8,9,单元格 I7 的候选数列表变为1 ,2,8,9,单元格 G8 的候选数列表变为1, 9。10XY 形态匹配删减法XY 形态匹配删减法是一个高级的数独技巧,但是应用的机会也比较多。如左图,四个相邻的(也可不相邻)九宫格。XY,XZ 和 YZ 分别表示只有两个候选数的单元格,但它们的候选数部分重叠。可见,不管 XY 取何值,星号所示的位置不可能是 Z 值。因为: 如果 XY 取 X 值,则与其同行的 XZ 只能取 Z 值,这样星号所示单元格就不能为 Z 值;如果 XY 取 Y 值,则与其同列的 YZ 只能取 Z 值,而星号所示的单元格同样不能是
43、Z 值。 于是,就可以把 Z 值从星号所示的单元格中去除。如左图,XY 和 YZ 同在一个九宫格但不同行中,而 XZ 和 XY 在同一行,但在不同九宫格中。这样,所有打星号的单元格中不能是 Z 值。因为:如果 XYX,则 XZZ。那么 XZ 所在的行和九宫格中就不能再出现 Z; 如果 XYY,则 YZZ。那么 YZ 所在的行和九宫格中就不能再出现 Z。如左图,XY 和 YZ 在同一九宫格但不同列中,而 XY 和 XZ 在同一列的不同九宫格中。这样,所有打星号的单元格中不能是 Z 值。因为:如果 XYX,则 XZZ。那么 XZ 所在的列和九宫格中就不能再出现 Z; 如果 XYY,则 YZZ。那么
44、 YZ 所在的列和九宫格中就不能再出现 Z。下面我们看几个例子:如左图,考察单元格 F3、F6、I3 和 I6,其中 F3 单元格的候选数列表为3 ,9,F6 单元格的候选数列表为3,5,I3 单元格的候选数列表为5 ,9,恰好符合 XY 形态匹配删减法的第一种情况,其中X3,Y9,Z5。这样,数字 5 就不能出现在 I6 单元格内,所以 I6 的候选数列表变为9,也就是说单元格 I6 的答案为 9。如左图,考察单元格 D2、D7 和 E8,其中 D7 单元格的候选数列表为4,9,E8 单元格的候选数列表为7 ,9,D2 单元格的候选数列表为4 ,7,恰好符合 XY 形态匹配删减法的第二种情况
45、,其中X9,Y4,Z7。这样,数字 7 就不能出现在 D8、E1 和 E2 单元格内,所以 D8 的候选数列表变为5, 9, E1 的候选数列表变为6,9 ,E2 的候选数列表变为6。如左图,考察单元格 B8、I8 和 G9,其中 I8 单元格的候选数列表为 2,3,G9 单元格的候选数列表为2 ,6,B8 单元格的候选数列表为 3,6,恰好符合 XY 形态匹配删减法的第三种情况,其中X2,Y3,Z6。这样,数字 6 就不能出现在 H8、A9、B9 和 C9 单元格内,所以 H8 的候选数列表变为8 ,A9 的候选数列表变为2 ,4,7,B9 的候选数列表变为4,7 ,C9 的候选数列表变为2
46、 ,7。11XYZ 形态匹配删减法XYZ 形态匹配删减法类似于 XY 形态匹配删减法,不同的是这次有一个单元格的候选数列表含有三个数字。如左图,XYZ 和 YZ 同在一个九宫格但不同行中,而 XZ 和 XYZ 在同一行,但在不同九宫格中。这样,所有打星号的单元格中不能是 Z 值。因为:如果 XYZX,则 XZZ。那么 XZ 所在行就不能再出现 Z; 如果 XYZY,则 YZZ。那么 YZ 所在的九宫格中就不能再出现 Z;如果 XYZZ。那么 XYZ 所在的九宫格中就不能再出现 Z;如左图,XYZ 和 YZ 在同一九宫格但不同列中,而 XYZ 和 XZ 在同一列的不同九宫格中。这样,所有打星号的单元格中不能是 Z 值。因为:如果 XYZX,则 XZZ。那么 XZ 所在列就不能再出现 Z; 如果 XYZY,则 YZZ。那么 YZ 所在的九宫格中就不能再出现 Z;如果 XYZZ。那么 XYZ 所在的九宫格中就不能再出现 Z。下面我们看几个例子: