Top1465 #2 (SER 9.5) is one of the 3 puzzles (# 2, SER 9.5 - #3, SER 9.6 - #77, SER 9.8) in the top1465 collection that can be solved neither by nrczt-whips nor by nrczt-braids.
It is not in T&E(ECP+NS+HS), i.e. it is not even solvable by nrczt-braids. But it is in T&E(ECP+NS+HS+BI), i.e. it is solvable by grouped-nrczt-braids (not programmed in SudoRules).
First, let's try SudoRules with the usual rules for nrczt-whips (no braids)
***** SudoRules version 13.7w-bis *****
7.8...3.....2.1...5.........4.....263...8.......1...9..9.6....4....7.5...........
hidden-single-in-a-block ==> r6c9 = 3
interaction row r2 with block b3 for number 8 ==> r3c9 <> 8, r3c8 <> 8, r3c7 <> 8
interaction row r2 with block b3 for number 7 ==> r3c9 <> 7, r3c8 <> 7, r3c7 <> 7
interaction block b6 with column c7 for number 8 ==> r9c7 <> 8, r7c7 <> 8, r2c7 <> 8
interaction block b6 with row r5 for number 5 ==> r5c6 <> 5, r5c4 <> 5, r5c3 <> 5, r5c2 <> 5
hidden-pairs-in-a-row {n7 n8}r3{c4 c6} ==> r3c6 <> 9, r3c6 <> 6, r3c6 <> 4, r3c6 <> 3, r3c4 <> 9, r3c4 <> 4, r3c4 <> 3
interaction block b2 with column c5 for number 3 ==> r9c5 <> 3, r7c5 <> 3, r4c5 <> 3
At this point, the PM is:
- Code: Select all
*--------------------------------------------------------------------------------------*
| 7 126 8 | 459 4569 4569 | 3 1456 1259 |
| 469 36 3469 | 2 34569 1 | 4679 45678 5789 |
| 5 1236 123469 | 78 3469 78 | 12469 146 129 |
|----------------------------+----------------------------+----------------------------|
| 189 4 1579 | 3579 59 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 125 2358 | 127 1378 4 |
| 12468 12368 12346 | 3489 7 23489 | 5 1368 1289 |
| 12468 1235678 1234567 | 34589 12459 234589 | 12679 13678 12789 |
*--------------------------------------------------------------------------------------*
And we now have three short whips:
nrczt-whip-cn[4] n2{r9c1 r6c1} - n2{r6c3 r3c3} - n2{r3c7 r7c7} - {n2r7c5 .} ==> r9c2 <> 2
nrczt-whip-cn[4] n8{r2c9 r2c8} - n5{r2c8 r2c5} - {n5 n9}r4c5 - {n9r4c1 .} ==> r2c9 <> 9
nrczt-whip-rn[6] n7{r9c3 r9c2} - n7{r9c9 r2c9} - n8{r2c9 r2c8} - n5{r2c8 r2c5} - {n5 n9}r4c5 - {n9r5c6 .} ==> r5c3 <> 7
Details for these three whips:
- the first whip is completely built on number 2. It is a champion of z-candidates: it has 2 additional z-candidates in its first cell, 3 in its second cell, 1 in its third cell:
nrczt-whip-cn[4] n2{r9 r6 r7* r8*}c1 - n2{r6 r3 r5#n2r6c1 r7* r8* r9*}c3 - n2{r3 r7 r9*}c7 - n2{r7 . r6#n2r6c1 r9*}c5 ==> r9c2 <> 2
nrczt-whip-cn[4] n8r2{c9 c8} - n5r2{c8 c5 c9*} - {n5 n9}r4c5 - n9{r4 . r2*}c1 ==> r2c9 <> 9
nrczt-whip-rn[6] n7{r9c3 r9c2 r7c3*} - n7{r9 r2 r5*}c9 - n8r2{c9 c8} - n5r2{c8 c5 c9#n7r2c9} - {n5 n9}r4c5 - n9r5{c6 . c3* c4#n9r4c5} ==> r5c3 <> 7
At this point, the PM is:
- Code: Select all
*--------------------------------------------------------------------------------------*
| 7 126 8 | 459 4569 4569 | 3 1456 1259 |
| 469 36 3469 | 2 34569 1 | 4679 45678 578 |
| 5 1236 123469 | 78 3469 78 | 12469 146 129 |
|----------------------------+----------------------------+----------------------------|
| 189 4 1579 | 3579 59 3579 | 178 2 6 |
| 3 1267 1269 | 479 8 24679 | 147 1457 157 |
| 268 25678 2567 | 1 2456 24567 | 478 9 3 |
|----------------------------+----------------------------+----------------------------|
| 128 9 12357 | 6 125 2358 | 127 1378 4 |
| 12468 12368 12346 | 3489 7 23489 | 5 1368 1289 |
| 12468 135678 1234567 | 34589 12459 234589 | 12679 13678 12789 |
*--------------------------------------------------------------------------------------*
;;; end common part
nrczt-whip-rc[10] n2{r9c1 r6c1} - n2{r6c5 r9c5} - n1{r9c5 r7c5} - {n1 n8}r7c1 - n8{r4c1 r4c7} - n8{r6c7 r6c2} - n5{r6c2 r9c2} - n7{r9c2 r5c2} - n7{r5c9 r6c7} - {n7r7c7 .} ==> r7c3 <> 2
nrczt-whip-bn[21] n5{r6c2 r9c2} - n5{r9c4 r1c4} - n5{r2c5 r7c5} - {n5 n9}r4c5 - n9{r4c1 r2c1} - n9{r2c5 r1c6} - n6{r1c6 r5c6} - n9{r5c6 r5c3} - n2{r5c3 r5c2} - n7{r5c2 r6c2} - {n7 n6}r6c3 - {n6 n8}r6c1 - {n8 n1}r4c1 - {n1 n2}r7c1 - n2{r9c3 r3c3} - n2{r3c7 r9c7} - n9{r9c7 r3c7} - n6{r3c7 r2c7} - {n6 n3}r2c2 - {n3 n4}r2c5 - {n4r2c3 .} ==> r6c6 <> 5
GRID 2 NOT SOLVED. 62 VALUES MISSING.
From this resolution path, one can see that this puzzle has few chains/whips; this is why a very long one is found (relatively) easily.
Now, let's try with nrczt-whips and nrczt-braids together:
***** SudoRules version 13.7wB-bis *****
Unchanged until "end common part".
nrczt-braid-bn[7] n5{r9c2 r6c2} - n8{r6c2 r8c2} - {n8 n2}r7c1 - n7{r6c2 r5c2} - n1{r9c5 r7c5} - {n1 n7}r7c7 - {n7r6c7 .} ==> r9c2 <> 1
nrczt-braid-bn[9] n2{r9c1 r6c1} - n2{r6c5 r9c5} - n1{r9c5 r7c5} - {n1 n8}r7c1 - n8{r9c2 r6c2} - n5{r6c2 r9c2} - n7{r9c2 r5c2} - {n1 n7}r7c7 - {n7r6c7 .} ==> r7c3 <> 2
Unfortunately, I can't go further with the current non optimised implementation of braids in SudoRules, because it leads to memory overflow.
It is already a miracle that a braid of length 9 is found (usually, memory overflow occurs much before this. But this puzzle has few chains and relatively few braids).
These two braids are interesting for two reasons.
Firstly, they are much shorter than those we could get indirectly from a T&E procedure. This illustrates the difference between using T&E and looking for braids.
Secondly, they have few branching points, as shown by the details below:
- the first braid is moderately short and it has two branching points (indicated by ".." instead of "-"):
nrczt-braid-bn[7] n5{r9 r6}c2 - n8{r6 r8}c2 - {n8 n2 n1*}r7c1 .. n7{r6 r5 r9*}c2 .. n1{r9 r7}c5 - {n1 n7 n2#n2r7c1}r7c7 - n7{r6c7 . r45c7#n7r7c7 r5c89#n7r5c2} ==> r9c2 <> 1
- the second braid, although it is longer, has only one branching point, just before the end:
nrczt-braid-bn[9] n2{r9 r6 r7* r8*}c1 - n2{r6 r9 r7*}c5 - n1{r9 r7}c5 - {n1 n8 n2*}r7c1 - n8{r9 r6 r8#n8r7c1}c2 - n5{r6 r9}c2 - n7{r9 r5 r6#n8r6c2}c2 .. {n1 n7 n2*}r7c7 - n7{r6c7 . r45c7#n7r7c7 r5c89#n7r5c2} ==> r7c3 <> 2
The constraint that, in SudoRules, we look for short braids before longer ones is enough to avoid useless branches in the braids that lead to an elimination.
(Unfortunately from the programming POV, it is not enough to avoid many useless partial braids with useless branches).