whatever the link you give concerning one method or another of resolution by templates their common trait is that they all use the knowledge of all the templates for each value, this example of Dobrichev is a new illustration of it
then the logic used for the elimination of templates is obviously the same for all these methods only the way of expressing it differs and the analysis which leads to putting or removing a candidate once again is the same
regarding the example given by Dobrichev, after initializing the puzzle and retrieving the templates we observe that there are 4 for each of the values 6 and 7 and the analysis of their compatibility shows that only 6 instances can be constructed, leading to the exclusion of one of the templates for 7, forcing the cells (50 63 78) to take the value 7 and a grid update solves the puzzle
- Code: Select all
. . . . . 1 . . 2
. . 3 . 4 . . 5 .
. 6 . 7 . . 8 . .
. . 6 . . . . 7 .
. 4 . . 2 . . . 3
1 . . . . 4 9 . .
. . 8 . . 9 5 . .
. 7 . 8 . . . 6 .
6 . . . 5 . . . .
.....1..2..3.4..5..6.7..8....6....7..4..2...31....49....8..95...7.8...6.6...5....
#VT: (36 28 54 28 14 4 6 14 42)
Cells: nil nil nil nil nil (54) nil nil nil
SetVC: ( n6r6c9 n1r5c7 n8r5c8 n2r6c8 n4r4c7 n5r4c9
n8r9c9 )
#VT: (10 14 54 12 7 4 4 4 30)
Cells: nil nil nil nil nil nil nil nil nil
Candidates:nil nil nil nil nil nil nil (11) nil
45789 589 4579 3569 3689 1 367 349 2
2789 129 3 269 4 268 67 5 179
2459 6 12459 7 39 235 8 1349 149
2389 2389 6 139 1389 38 4 7 5
579 4 579 569 2 567 1 8 3
1 358 57 35 378 4 9 2 6
234 123 8 12346 1367 9 5 134 147
23459 7 12459 8 13 23 23 6 149
6 1239 1249 1234 5 237 237 1349 8
166 candidates.
#6: (7 15 20 30 40 54 59 71 73) (7 13 20 30 42 54 59 71 73)
(5 16 20 30 42 54 58 71 73) (4 16 20 30 42 54 59 71 73)
#7: (7 10 22 35 39 50 63 65 78) (3 16 22 35 37 50 63 65 78)
(1 18 22 35 42 48 59 65 79) (1 16 22 35 39 50 63 65 78)
1: (6 7) 6 instances
..7...6.......67...6.7.......6....7.7..6.........7...6....6...7.7.....6.6....7...
7.....6.......67...6.7.......6....7...76.........7...6....6...7.7.....6.6....7...
..7...6.....6..7...6.7.......6....7.7....6.......7...6....6...7.7.....6.6....7...
7.....6.....6..7...6.7.......6....7...7..6.......7...6....6...7.7.....6.6....7...
....6.7..7.....6...6.7.......6....7...7..6.......7...6...6....7.7.....6.6....7...
...6..7..7.....6...6.7.......6....7...7..6.......7...6....6...7.7.....6.6....7...
......6.......6....6.........6.........6.............6....6...........6.6........
......6.....6......6.........6...........6...........6....6...........6.6........
....6..........6...6.........6...........6...........6...6............6.6........
...6...........6...6.........6...........6...........6....6...........6.6........
......7..7...........7............7...7..........7............7.7............7...
..7............7.....7............7.7............7............7.7............7...
7..............7.....7............7...7..........7............7.7............7...
#VT: (10 14 54 12 7 4 3 4 30)
Cells: nil nil nil nil nil nil (50 63 78) nil nil
SetVC: ( n7r6c5 n7r7c9 n7r9c6 n5r6c3 n3r6c4 n8r4c6
n8r6c2 n5r8c1 n5r1c2 n8r1c5 n8r2c1 n5r5c4
n5r3c6 n6r7c5 n6r5c6 n7r2c7 n2r2c6 n3r8c6
n2r8c7 n3r9c7 n6r1c7 n1r8c5 n9r1c4 n6r2c4
n3r3c5 n1r4c4 n9r4c5 n3r1c8 )
#VT: (3 4 2 4 1 1 2 1 2)
Cells: nil nil nil nil nil nil nil nil (11 37)
SetVC: ( n9r2c2 n1r2c9 n9r5c1 n7r5c3 n4r1c3 n2r3c1
n1r3c3 n3r4c1 n2r4c2 n4r7c1 n2r7c4 n1r7c8
n9r8c3 n4r8c9 n1r9c2 n2r9c3 n4r9c4 n9r9c8
n7r1c1 n4r3c8 n9r3c9 n3r7c2 )
7 5 4 9 8 1 6 3 2
8 9 3 6 4 2 7 5 1
2 6 1 7 3 5 8 4 9
3 2 6 1 9 8 4 7 5
9 4 7 5 2 6 1 8 3
1 8 5 3 7 4 9 2 6
4 3 8 2 6 9 5 1 7
5 7 9 8 1 3 2 6 4
6 1 2 4 5 7 3 9 8