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