Thanks for your solution.
My reason for choosing this puzzle is to illustrate an ORk-whip pattern more general than the previously defined ORk-contrad-whips: the ORk part may appear at another place than the final (contradiction) one.
Informally speaking, an ORk-whip (based on some ORk-relation, e.g. an anti-tridagon one) is like a whip, except that some of its CSP-Variables is replaced by an ORk relation, where k-1 candidates are linked to previous right-linking candidates and the remaining one is used as a right linking-candidate for the next step.
Notice the notation for an ORk-whip based on an ORk-relation:
- the full name is ORname-ORk-whip[n], with "n" the total length as usual, "k" the size or the OR relation and "OR name" the short name of this relation.
- I use double curly braces for the ORk part (to recall that it's not a CSP-Variable).
The start is quite easy, using only short reversible chains.
- Code: Select all
hidden-pairs-in-a-row: r1{n2 n3}{c2 c3} ==> r1c3≠9, r1c3≠5, r1c3≠1, r1c2≠9, r1c2≠8, r1c2≠5, r1c2≠1
hidden-single-in-a-block ==> r3c2=8
biv-chain[4]: r1n4{c4 c5} - r7c5{n4 n1} - r7c1{n1 n6} - c6n6{r7 r1} ==> r1c4≠6
z-chain[5]: r8n2{c2 c7} - r8n7{c7 c8} - r4n7{c8 c9} - r4n9{c9 c4} - r9n9{c4 .} ==> r8c2≠9
whip[1]: r8n9{c6 .} ==> r9c4≠9
+-------------------+-------------------+-------------------+
! 159 23 23 ! 14579 1459 1569 ! 1579 15678 789 !
! 4 159 6 ! 1579 8 159 ! 1579 2 3 !
! 7 8 159 ! 1569 3 2 ! 159 156 4 !
+-------------------+-------------------+-------------------+
! 2 159 8 ! 159 6 3 ! 4 157 79 !
! 3 4 159 ! 12589 7 1589 ! 6 158 289 !
! 159 6 7 ! 12589 159 4 ! 1359 1358 289 !
+-------------------+-------------------+-------------------+
! 16 1237 123 ! 13468 14 168 ! 2378 9 5 !
! 8 12357 4 ! 1359 159 159 ! 237 37 6 !
! 569 359 359 ! 3568 2 7 ! 38 4 1 !
+-------------------+-------------------+-------------------+
OR3-anti-tridagon[12] for digits 1, 5 and 9 in blocks:
b1, with cells: r1c1, r2c2, r3c3
b2, with cells: r1c5, r2c6, r3c4
b4, with cells: r6c1, r4c2, r5c3
b5, with cells: r6c5, r4c4, r5c6
with 3 guardians: n4r1c5 n6r3c4 n8r5c6
This is where the ORk-whips appear:
Trid-OR3-whip[4]: r7c1{n6 n1} - r7c6{n1 n8} - OR3{{n8r5c6 n6r3c4 | n4r1c5}} - r7c5{n4 .} ==> r7c4≠6
z-chain[4]: c7n1{r3 r6} - c1n1{r6 r7} - r7n6{c1 c6} - r1n6{c6 .} ==> r1c8≠1
Trid-OR3-whip[5]: r7c1{n1 n6} - r9n6{c1 c4} - r7c6{n6 n8} - OR3{{n8r5c6 n6r3c4 | n4r1c5}} - r7c5{n4 .} ==> r7c4≠1
Trid-OR3-whip[5]: r7c1{n1 n6} - r9n6{c1 c4} - r7c6{n6 n8} - OR3{{n8r5c6 n6r3c4 | n4r1c5}} - r7c5{n4 .} ==> r7c2≠1
Trid-OR3-whip[5]: r7c1{n1 n6} - r9n6{c1 c4} - r7c6{n6 n8} - OR3{{n8r5c6 n6r3c4 | n4r1c5}} - r7c5{n4 .} ==> r7c3≠1
The end is easy:
- Code: Select all
naked-pairs-in-a-column: c3{r1 r7}{n2 n3} ==> r9c3≠3
t-whip[5]: r1n6{c8 c6} - r7n6{c6 c1} - b7n1{r7c1 r8c2} - r8n2{c2 c7} - r8n7{c7 .} ==> r1c8≠7
biv-chain[4]: b3n8{r1c8 r1c9} - c9n7{r1 r4} - c8n7{r4 r8} - c8n3{r8 r6} ==> r6c8≠8
hidden-pairs-in-a-row: r6{n2 n8}{c4 c9} ==> r6c9≠9, r6c4≠9, r6c4≠5, r6c4≠1
biv-chain[3]: r1n6{c6 c8} - c8n8{r1 r5} - c6n8{r5 r7} ==> r7c6≠6
singles ==> r9c4=6, r1c6=6, r3c8=6, r7c1=6, r8c2=1, r8c7=2, r8c8=7, r4c9=7, r7c2=7, r7c3=2, r1c3=3, r1c2=2, r9c2=3,r9c7=8, r7c7=3, r6c8=3, r8c4=3
whip[1]: c8n1{r5 .} ==> r6c7≠1
z-chain[3]: c9n9{r5 r1} - r3n9{c7 c4} - r4n9{c4 .} ==> r5c3≠9
biv-chain[3]: c1n1{r1 r6} - r5c3{n1 n5} - b7n5{r9c3 r9c1} ==> r1c1≠5
biv-chain[3]: r2c2{n5 n9} - b4n9{r4c2 r6c1} - r6c7{n9 n5} ==> r2c7≠5
biv-chain[4]: r5c3{n5 n1} - r6n1{c1 c5} - b8n1{r7c5 r7c6} - c6n8{r7 r5} ==> r5c6≠5
biv-chain[4]: b4n9{r6c1 r4c2} - r2c2{n9 n5} - c6n5{r2 r8} - b8n9{r8c6 r8c5} ==> r6c5≠9
biv-chain[2]: r6n9{c7 c1} - c2n9{r4 r2} ==> r2c7≠9
finned-x-wing-in-rows: n9{r4 r2}{c2 c4} ==> r3c4≠9, r1c4≠9
finned-x-wing-in-rows: n9{r6 r3}{c7 c1} ==> r1c1≠9
stte