.
I tried the fewest steps algorithm with all-chains-max-length = 6. Considering there's a solution in Z4, this may already be allowing too large chains. But this was more to test my algorithm than anything else. (This new version, not yet published, allows Subsets to be present in the rules without generating unwanted steps.)
The fewest steps I find is 7 (but I did only 3 tries):
- Code: Select all
Resolution state after Singles and whips[1]:
+----------------------+----------------------+----------------------+
! 13 2 9 ! 4 8 13 ! 6 5 7 !
! 7 1348 1348 ! 6 15 135 ! 2 13 9 !
! 13 6 5 ! 7 9 2 ! 8 13 4 !
+----------------------+----------------------+----------------------+
! 2 1348 13468 ! 589 156 15689 ! 7 4689 13568 !
! 13689 138 1368 ! 589 4 7 ! 359 2 13568 !
! 14689 5 7 ! 2 3 1689 ! 49 4689 168 !
+----------------------+----------------------+----------------------+
! 3468 9 3468 ! 1 7 568 ! 345 468 2 !
! 368 7 2368 ! 3589 256 4 ! 1 689 3568 !
! 5 1348 123468 ! 389 26 689 ! 349 7 368 !
+----------------------+----------------------+----------------------+
===> STEP #1
finned-x-wing-in-columns: n4{c1 c7}{r6 r7} ==> r7c8 ≠ 4
whip[1]: b9n4{r9c7 .} ==> r6c7 ≠ 4
naked-single ==> r6c7 = 9
hidden-single-in-a-column ==> r8c8 = 9
hidden-single-in-a-block ==> r5c1 = 9
===> STEP #2
naked-pairs-in-a-block: b1{r1c1 r3c1}{n1 n3} ==> r2c3 ≠ 3, r2c3 ≠ 1, r2c2 ≠ 3, r2c2 ≠ 1
whip[1]: b1n1{r3c1 .} ==> r6c1 ≠ 1
whip[1]: b1n3{r3c1 .} ==> r7c1 ≠ 3, r8c1 ≠ 3
===> STEP #3
z-chain[5]: r7c8{n6 n8} - r7c1{n8 n4} - r6n4{c1 c8} - c8n6{r6 r4} - c5n6{r4 .} ==> r7c6 ≠ 6
===> STEP #4
biv-chain[3]: r5c4{n8 n5} - c7n5{r5 r7} - r7c6{n5 n8} ==> r8c4 ≠ 8, r4c6 ≠ 8, r6c6 ≠ 8, r9c4 ≠ 8
===> STEP #5
whip[4]: r6n4{c1 c8} - r6n8{c8 c9} - r4c8{n8 n6} - b5n6{r4c5 .} ==> r6c1 ≠ 6
whip[1]: c1n6{r8 .} ==> r7c3 ≠ 6, r8c3 ≠ 6, r9c3 ≠ 6
===> STEP #6
whip[6]: r7c8{n6 n8} - c6n8{r7 r9} - c6n9{r9 r4} - c6n6{r4 r6} - r6c8{n6 n4} - c1n4{r6 .} ==> r7c1 ≠ 6
hidden-single-in-a-block ==> r8c1 = 6
hidden-single-in-a-row ==> r7c8 = 6
whip[1]: b9n8{r9c9 .} ==> r4c9 ≠ 8, r5c9 ≠ 8, r6c9 ≠ 8
===> STEP #7
biv-chain[4]: r5c7{n3 n5} - r7n5{c7 c6} - b8n8{r7c6 r9c6} - r9c9{n8 n3} ==> r4c9 ≠ 3, r5c9 ≠ 3, r7c7 ≠ 3, r9c7 ≠ 3
stte