.
This puzzle, together with its twin brother #3, is one of the very rare cases when using Subsets in chains drastically simplifies the solution, as can be seen in solutions by Cenoman, Defise and shye.
For both puzzles:
- they are not in T&E(1) and can therefore not be solved by whips or braids
- they are in gT&E = T&E(1, W1) and can therefore be solved by g-braids
- they can indeed be solved by g-whips
- however, they require very long g-whips: 16
- they have a very large number of candidates after Singles and whips[1] have been applied.
One can find my g-whip solution for #2 (SER = 9.5) in the Magictour examples folder of CSP-Rules:
https://github.com/denis-berthier/CSP-Rules-V2.1/tree/master/Examples/Sudoku/Magictour-top1465. I will not repeat it here.
Here is however another type of solution, using a technique described in chapter 12 of PBCS: w*-whips. I don't use it often, but it can be fun at times.
- Code: Select all
Resolution state after Singles and whips[1]:
+-------------------------+-------------------------+-------------------------+
! 7 126 8 ! 459 4569 4569 ! 3 1456 1259 !
! 469 36 3469 ! 2 34569 1 ! 4679 45678 5789 !
! 5 1236 123469 ! 34789 3469 346789 ! 12469 146 129 !
+-------------------------+-------------------------+-------------------------+
! 189 4 1579 ! 3579 359 3579 ! 178 2 6 !
! 3 1267 12679 ! 479 8 24679 ! 147 1457 157 !
! 268 25678 2567 ! 1 2456 24567 ! 478 9 3 !
+-------------------------+-------------------------+-------------------------+
! 128 9 12357 ! 6 1235 2358 ! 127 1378 4 !
! 12468 12368 12346 ! 3489 7 23489 ! 5 1368 1289 !
! 12468 1235678 1234567 ! 34589 123459 234589 ! 12679 13678 12789 !
+-------------------------+-------------------------+-------------------------+
263 candidates.
All the w*-whips below are either w*1-whips or w*2-whips, meaning that all the inner bi-whips have length at most 2.
In PBCS3, I've introduced a minor change of notation for w*-whips and similar patterns: the pseudo-length is now written between double square brackets, in order to recall that it can't be compared to my standard notion of length: the lengths of inner bi-whips are not counted.
- Code: Select all
w*-whip[[1]]: r3n8{c6 .} ==> r3c4≠9
w*-whip[[1]]: r3n8{c4 .} ==> r3c6≠6
w*-whip[[1]]: r3n8{c4 .} ==> r3c6≠4
w*-whip[[1]]: r3n8{c4 .} ==> r3c6≠3
w*-whip[[1]]: r3n8{c4 .} ==> r3c6≠9
w*-whip[[1]]: r3n8{c6 .} ==> r3c4≠4
w*-whip[[1]]: r3n8{c6 .} ==> r3c4≠3
whip[1]: b2n3{r3c5 .} ==> r4c5≠3, r7c5≠3, r9c5≠3
w*-whip[[2]]: c5n2{r9 r7} - r8n2{c6 .} ==> r9c2≠2
w*-whip[[2]]: r5c2{n6 n7} - r2c7{n7 .} ==> r3c3≠3
w*-whip[[2]]: c5n9{r9 r1} - r2n5{c5 .} ==> r2c9≠9
w*-whip[[2]]: b4n9{r5c3 r4c1} - r2n5{c5 .} ==> r2c7≠9
w*-whip[[2]]: r4c5{n9 n5} - r2n7{c9 .} ==> r5c3≠7
w*-whip[[2]]: r5n9{c3 c4} - b5n4{r5c4 .} ==> r5c6≠7
w*-whip[[3]]: r5n9{c6 c4} - c5n5{r1 r4} - r2n7{c9 .} ==> r5c2≠7
w*-whip[[1]]: c2n7{r9 .} ==> r9c2≠1
w*-whip[[1]]: c2n7{r9 .} ==> r9c2≠3
w*-whip[[1]]: c2n7{r9 .} ==> r9c2≠6
w*-whip[[1]]: c2n7{r9 .} ==> r9c2≠8
w*-whip[[1]]: c2n7{r9 .} ==> r6c2≠8
hidden-single-in-a-column ==> r8c2=8
whip[1]: b7n3{r9c3 .} ==> r2c3≠3
w*-whip[[1]]: r7c1{n2 .} ==> r9c7≠1
w*-whip[[1]]: c2n7{r9 .} ==> r6c2≠6
w*-whip[[1]]: c2n7{r9 .} ==> r6c2≠2
w*-whip[[1]]: c5n1{r7 .} ==> r7c3≠2
w*-whip[[2]]: c7n2{r3 r7} - r7c5{n1 .} ==> r2c8≠6
w*-whip[[2]]: r7c7{n2 n7} - r2n5{c8 .} ==> r7c3≠1
w*-whip[[2]]: b8n1{r9c5 r7c5} - r2n7{c7 .} ==> r9c5≠5
w*-whip[[2]]: r2n5{c9 c5} - r7c5{n5 .} ==> r9c7≠7
w*-whip[[2]]: c7n6{r9 r2} - r2c5{n9 .} ==> r7c7≠1
w*-whip[[2]]: r4n1{c3 c1} - b9n2{r7c7 .} ==> r6c7≠7
w*-whip[[2]]: r7c5{n1 n5} - b3n7{r2c8 .} ==> r7c6≠2
w*-whip[[2]]: r3n1{c2 c7} - r8c9{n9 .} ==> r5c9≠1
w*-whip[[2]]: r7c7{n2 n7} - r2n5{c8 .} ==> r7c8≠1
w*-whip[[2]]: r2n7{c9 c7} - r7c7{n7 .} ==> r1c5≠5
w*-whip[[2]]: c7n2{r9 r7} - r2n5{c5 .} ==> r2c7≠4
w*-whip[[2]]: b9n2{r9c9 r7c7} - r2n5{c5 .} ==> r5c7≠7
w*-whip[[2]]: b9n2{r9c9 r7c7} - r2n5{c5 .} ==> r4c7≠7
whip[1]: b6n7{r5c9 .} ==> r5c4≠7
w*-whip[[1]]: r5n7{c9 .} ==> r5c8≠4
whip[1]: b6n4{r6c7 .} ==> r3c7≠4
w*-whip[[1]]: r5n7{c9 .} ==> r5c8≠1
whip[1]: b6n1{r5c7 .} ==> r3c7≠1
w*-whip[[2]]: b4n9{r4c1 r5c3} - b4n1{r4c3 .} ==> r7c5≠5
w*-whip[[1]]: r7n5{c6 .} ==> r6c6≠5
w*-whip[[1]]: r7n5{c6 .} ==> r7c8≠7
w*-whip[[1]]: r7n5{c6 .} ==> r7c3≠7
hidden-single-in-a-row ==> r7c7=7
naked-single ==> r2c7=6
naked-single ==> r2c2=3
hidden-single-in-a-block ==> r3c5=3
whip[1]: r3n6{c3 .} ==> r1c2≠6
w*-whip[[1]]: r3n6{c3 .} ==> r3c3≠4
hidden-single-in-a-row ==> r3c8=4
whip[1]: r1n4{c6 .} ==> r2c5≠4
w*-whip[[1]]: r2c5{n9 .} ==> r9c5≠9
w*-whip[[1]]: r2c5{n9 .} ==> r1c5≠9
w*-whip[[1]]: c5n9{r4 .} ==> r4c3≠9
w*-whip[[1]]: r4n9{c6 .} ==> r5c3≠1
w*-whip[[1]]: b4n9{r5c3 .} ==> r5c2≠1
hidden-single-in-a-row ==> r5c7=1
naked-single ==> r4c7=8
naked-single ==> r6c7=4
hidden-single-in-a-block ==> r6c1=8
whip[1]: c1n2{r9 .} ==> r8c3≠2, r9c3≠2
whip[1]: c1n6{r9 .} ==> r8c3≠6, r9c3≠6
whip[1]: c2n1{r3 .} ==> r3c3≠1
w*-whip[[1]]: c5n9{r4 .} ==> r4c4≠9
w*-whip[[1]]: c5n9{r4 .} ==> r4c6≠9
w*-whip[[1]]: r2c5{n9 .} ==> r4c3≠5
whip[1]: r4n5{c6 .} ==> r6c5≠5
w*-whip[[1]]: r2c5{n9 .} ==> r9c4≠9
w*-whip[[1]]: r3n6{c3 .} ==> r3c3≠9
whip[1]: r3n9{c9 .} ==> r1c9≠9
whip[1]: r1n9{c6 .} ==> r2c5≠9
stte