三链列比起二链列的情况会多一些,因为它需要更多的假设和推理。例如盘面24:
盘面24
此时我们观察到,在行C、行F和行H都有且仅有列标为5、6、7的单元格可以填4,所以,4在这3行里被控制在那9个单元格内。这时候就假设一下:
● 情况1:如果C5=4,则F5,H5,C6,C7<>4,解不出,就继续假设:
A.如果F6=4,则F7,H6<>4,则H7=4;
B.如果F7=4,则F6,H7<>4,则H6=4;
● 情况2:如果C6=4,则C5,C7,F6,H6<>4,解不出,就继续假设:
A.如果F5=4,则F7,H5<>4,则H7=4;
B.如果F7=4,则F5,H7<>4,则H5=4;
● 情况3:如果C7=4,则C5,C6,F7,H7<>4,解不出,就继续假设:
A.如果F5=4,则F6,H5<>4,则H6=4;
B.如果F6=4,则F5,H6<>4,则H5=4。
此时,我们发现,假设情况均列出了。由于第一次假设并不能完成推理,因此中途又进行了第二次假设,才完成了整个推理过程。对比这6种情况假设的开头以及结尾,可列出下表:
我们发现,无论是哪种情况的假设,始终都会使得列5、列6和列7上至少都有一个4。也因此,列5、列6、列7的其他位置上,候选数4将可以被安全地删掉,亦即图上的A5、A6、B5、B7、D5、D7、G5内的候选数4均将被删除。这就是三链列或剑鱼。注意,此题的三链列的定义域为行C、F、H,删除域为列5、列6和列7。
但是,图中有一个奇怪的地方。图上有一个宫摒除法,是H5=8,由B6(8)、G1(8)和I8(8)在宫8内摒除得到的。填入了这个8之后,就会发现一大堆摒除法,还有两个唯一余数法,于是就一口气做到了这里:
盘面25
如盘面25所示,原来的三链列残缺成了这样(缺了一个“角”),那么它是否还是可用的呢?答案肯定是可以的。这并不影响三链列的用法。假设会比刚才的要少,但是仍能推理,并且把所有假设集合在一起,同样可以使得列5、列6、列7都至少有一个4出现。此处将不再列举其假设。这种情况被称为鱼的残缺。我们可以把它想象成一个“二维”的数组,填数情况已经列举到这么3行3列之中,相当于一个三链数涉及的3格内的填数情况,第1格是{123},第2格是{123},而第3格则是{12}。数组的要求就需要满足每一格不一致,所以只需要至少每格2个候选数,就可以构成数组了。