Thanks to denis_berthier we now have PDF files of posts from this topic made between July 2009 and January 2010.
Page 14
Page 15
Page 16
Page 17
Page 18
Page 19
Page 20
Page 21
denis_berthier wrote:
As I mentioned in the previous post, #187 (SER = 9.4) is one of the two grids in the top1465 collection that can't be solved by nrczt-whips but can by nrczt-braids (as can be verified with a simple T&E procedure).
First tentative solution with whips:
***** SudoRules version 13.7w-bis *****
6.....3...5..9..8...2..6..98.....7...7..5..4......1..51..3..5...4..2..6...8..7..2
hidden-singles ==> r4c3 = 5, r7c2 = 2
interaction row r4 with block b5 for number 4 ==> r6c5 <> 4, r6c4 <> 4
nrczt-whip-cn[11] {n4 n1}r3c7 - {n1 n9}r9c7 - {n9 n8}r8c7 - n8{r8c9 r5c9} - n1{r5c9 r5c3} - n1{r4c2 r1c2} - n9{r1c2 r1c3} - n9{r8c3 r8c1} - {n9 n5}r8c6 - n1{r9c5 r8c4} - {n1r9c5 .} ==> r2c7 <> 4
;;; end common part
nrczt-whip[21] n8{r8c9 r7c9} - n4{r7c9 r9c7} - {n4 n1}r3c7 - n1{r8c7 r8c9} - n7{r8c9 r7c8} - {n7 n5}r3c8 - {n5 n2}r1c8 - n1{r1c8 r4c8} - n1{r4c2 r1c2} - n9{r1c2 r1c3} - {n9 n6}r7c3 - {n6 n4}r7c5 - {n4 n9}r7c6 - {n9 n5}r8c6 - n5{r9c4 r1c4} - n1{r1c4 r2c4} - n2{r2c4 r2c6} - n2{r4c6 r4c4} - n9{r4c4 r4c2} - {n9 n3}r9c2 - {n3r9c8 .} ==> r8c4 <> 8
GRID 187 NOT SOLVED. 55 VALUES MISSING.
Here again, we notice a very long whip (length 21), an indication that this puzzle has few chains.
Let's now solve it with braids:
***** SudoRules version 13.7wbis-B2 *****
6.....3...5..9..8...2..6..98.....7...7..5..4......1..51..3..5...4..2..6...8..7..2
;;; Same resolution path down to "end common part"
;;; We now get braids much shorter than the whip obtained in the previous path:
nrczt-braid-rc[11] n3{r8c9 r9c8} - {n7 n9}r7c8 - {n3 n2}r6c8 - n2{r1c8 r2c7} - n6{r2c7 r2c9} - {n2 n1}r4c8 - n1{r2c9 r1c9} - n1{r1c2 r3c2} - n1{r1c5 r9c5} - n4{r9c7 r7c9} - {n4r9c7 .} ==> r8c9 <> 7
interaction row r8 with block b7 for number 7 ==> r7c3 <> 7
nrczt-braid-cn[4] {n6 n9}r7c3 - n4{r6c3 r6c1} - n9{r9c1 r5c1} - {n2r6c1 .} ==> r6c3 <> 6
nrczt-braid-cn[11] n7{r6c4 r6c5} - n8{r6c5 r6c7} - n6{r6c7 r6c2} - n2{r4c6 r4c8} - n2{r6c7 r2c7} - n6{r2c7 r5c7} - n9{r6c7 r6c8} - n3{r6c8 r9c8} - n2{r6c1 r5c1} - n9{r9c1 r9c2} - {n9r9c1 .} ==> r6c4 <> 2
nrczt-braid-rc[12] n1{r9c4 r9c5} - {n1 n4}r3c7 - n4{r9c5 r9c4} - n6{r9c4 r9c2} - {n6 n9}r7c3 - n9{r1c3 r1c2} - n1{r3c2 r4c2} - n1{r9c8 r1c8} - {n4 n7}r1c9 - {n9 n3}r6c2 - {n1 n4}r1c3 - {n4r6c3 .} ==> r3c4 <> 1
;;; Even with braids activated, the next eliminations use only whips
nrczt-whip-cn[13] {n1 n4}r3c7 - {n4 n9}r9c7 - {n9 n8}r8c7 - n8{r8c9 r5c9} - n1{r5c9 r5c3} - n6{r5c3 r7c3} - n9{r7c3 r7c6} - n8{r7c6 r1c6} - n8{r3c5 r3c2} - n1{r3c2 r3c5} - n3{r3c5 r3c1} - n3{r5c1 r5c6} - {n3r6c5 .} ==> r2c7 <> 1
nrczt-whip-cn[8] n1{r5c9 r5c3} - n1{r2c3 r2c4} - n1{r9c4 r9c5} - n1{r9c8 r8c7} - {n1 n4}r3c7 - n4{r9c7 r9c4} - n6{r9c4 r9c2} - {n6r7c3 .} ==> r4c9 <> 1
nrczt-whip-rc[6] n9{r1c2 r1c3} - {n9 n6}r7c3 - n6{r9c2 r4c2} - {n6 n3}r4c9 - n3{r8c9 r9c8} - {n3r9c2 .} ==> r6c2 <> 9
nrczt-whip-cn[8] n1{r4c8 r4c2} - n1{r3c2 r3c5} - {n1 n4}r3c7 - {n4 n7}r1c9 - {n7 n6}r2c9 - {n6 n3}r4c9 - n3{r4c5 r6c5} - {n7r6c5 .} ==> r1c8 <> 1
nrczt-whip-rn[11] n6{r9c5 r9c4} - n6{r9c2 r4c2} - {n6 n3}r4c9 - n3{r4c6 r5c6} - {n3 n4}r4c5 - n4{r9c5 r7c6} - {n4 n2}r2c6 - n2{r2c7 r1c8} - {n2 n9}r6c8 - {n6 n9}r7c3 - {n6r7c3 .} ==> r6c5 <> 6
;;;; (I checked that a solution with whips only can be obtained from here, which shows that this puzzle needs only a few eliminations to be solvable by whips).
nrczt-braid-bn[11] n6{r9c2 r7c3} - n6{r7c5 r9c5} - {n6 n3}r4c9 - {n6 n3}r6c2 - n3{r6c5 r3c5} - n1{r9c5 r1c5} - n1{r4c2 r3c2} - n3{r5c9 r5c6} - n7{r3c5 r6c5} - n8{r6c4 r3c4} - {n8r6c4 .} ==> r4c2 <> 6
nrczt-braid-rc[8] n6{r5c3 r6c2} - {n6 n3}r4c9 - n3{r8c9 r9c8} - {n6 n9}r9c2 - {n9 n1}r4c2 - n1{r5c9 r5c7} - {n9 n4}r9c7 - {n4r3c7 .} ==> r5c9 <> 6
;;; For shorter computation times, I de-activated braids here. There's nothing new in the sequel (whips of length <= 12). Details can be seen on my Web pages.
As a conclusion of this example and the previous ones:
On the positive side:
- braids can lead to solutions that can't be found when only whips are used (which is not a scoop, as they are more general),
- in all the cases, braids can lead to solutions with much shorter maximum length than whips (in this example braid[13] instead of the whip[21] that didn't even lead to a solution),
- the T&E vs braids theorem is useful in practice as an oracle: using it, we can be confident that there'll be a solution with braids.
On the negative side:
- from a programming POV, useful braids are more difficult to find than whips because there are more useless ones,
- braids are less "beautiful" than whips as there is some branching (although mild compared to some solutions proposed elsewhere with very complex nets),
- from a player POV, I think some strategies of latest branching may make them easier to find than for a computer.
This last idea is the same as the one I explained long ago for t- or z- candidates: these candidates are impurities in what would otherwise be pure xy- or nrc- chains. We use them when we can't do otherwise. This is (conceptually) how rules with t- and/or z- candidates are implemented in SudoRules.
The difference is that for branching, the way I've found for doing this efficiently is still partial.
(I've solved memory oveflow problems but computation times remain very long).
Resolution state after Singles and whips[1]:
+----------------------+----------------------+----------------------+
! 6 189 1479 ! 124578 1478 2458 ! 3 1257 147 !
! 347 5 1347 ! 1247 9 234 ! 1246 8 1467 !
! 347 138 2 ! 14578 13478 6 ! 14 157 9 !
+----------------------+----------------------+----------------------+
! 8 1369 5 ! 2469 346 2349 ! 7 1239 136 !
! 239 7 1369 ! 2689 5 2389 ! 12689 4 1368 !
! 2349 369 3469 ! 26789 3678 1 ! 2689 239 5 !
+----------------------+----------------------+----------------------+
! 1 2 679 ! 3 468 489 ! 5 79 478 !
! 3579 4 379 ! 1589 2 589 ! 189 6 1378 !
! 359 369 8 ! 14569 146 7 ! 149 139 2 !
+----------------------+----------------------+----------------------+
199 candidates
Memory Chain: Start From 1r8c7 causes cell r1c9 to be empty => r8c7<>1
1r8c7- r3c7(1=4) - 4c9(r12=r7) - r9c7(4=9) - r9c8(9=3) - r9c2(3=6) - 6r7(c3=c5) - 8r7(c5=c6) - 9r7(c6=c3) - 9r1(c3=c2) - r6c2(9=3) - r4c2(3=1) - 1r5(c3=c9) - 3r5(c9=c6) - r5c3(3=6) - r6c3(6=4) - 4c1(r6=r2) - r2c6(4=2) - r2c7(2=6) - r2c9(6=7) - r1c9(7=.)
yzfwsf wrote:HI denis:
As for your whip[20], my solver found this, is it also a whip?
- Code: Select all
Memory Chain: Start From 1r8c7 causes cell r1c9 to be empty => r8c7<>1
1r8c7- r3c7(1=4) - 4c9(r12=r7) - r9c7(4=9) - r9c8(9=3) - r9c2(3=6) - 6r7(c3=c5) - 8r7(c5=c6) - 9r7(c6=c3) - 9r1(c3=c2) - r6c2(9=3) - r4c2(3=1) - 1r5(c3=c9) - 3r5(c9=c6) - r5c3(3=6) - r6c3(6=4) - 4c1(r6=r2) - r2c6(4=2) - r2c7(2=6) - r2c9(6=7) - r1c9(7=.)
yzfwsf wrote:Release Vesion 625
Gui added Pencile-paper mode
Added patterns game related modules
Added the function of judging whether a puzzle is the smallest puzzle
Added Memory Chain technique, similar to denis_berthier's whip, but I don't know the details and precise definition of whip. In order not to obscure people's understanding of whip, the name Memory Chain is used. And in my solver Like other chains, when searching for Memory Chain, there is no length limit by default, but there are items with length limit in the options, you can try to modify it, but the program will not save this setting, and the default will be unlimited next time.
yzfwsf wrote:yzfwsf wrote:Release Vesion 625
Gui added Pencile-paper mode
Added patterns game related modules
Added the function of judging whether a puzzle is the smallest puzzle
Added Memory Chain technique, similar to denis_berthier's whip, but I don't know the details and precise definition of whip. In order not to obscure people's understanding of whip, the name Memory Chain is used. And in my solver Like other chains, when searching for Memory Chain, there is no length limit by default, but there are items with length limit in the options, you can try to modify it, but the program will not save this setting, and the default will be unlimited next time.
yzfwsf wrote:If you agree that my implementation satisfies the definition of whip, then I will name it whip instead of Memory chain in the next software update, the implementation is a bit slow now and I still need to improve it.
.--------------------.-------------------.------------------.
| 678 178 3 | 2578 1578 278 | 1268 4 9 |
| 5 9 168 | 238 138 4 | 7 2368 368 |
| 4 2 178 | 3789 6 3789 | 138 38 5 |
:--------------------+-------------------+------------------:
| 3689 4 56789 | 35789 3578 1 | 368 3568 2 |
| 2389 138 12589 | 6 358 2389 | 4 1358 7 |
| 23678 1378 15678 | 23578 4 2378 | 9 13568 368 |
:--------------------+-------------------+------------------:
| 1 378 278 | 378 9 3678 | 5 23678 4 |
| 23789 6 2789 | 4 378 5 | 238 2378 1 |
| 378 5 4 | 1 2 3678 | 368 9 368 |
'--------------------'-------------------'------------------'
(init-sukaku-grid:
+-------------------+-------------------+-------------------+
! 678 178 3 ! 2578 1578 278 ! 1268 4 9 !
! 5 9 168 ! 238 138 4 ! 7 2368 368 !
! 4 2 178 ! 3789 6 3789 ! 138 38 5 !
+-------------------+-------------------+-------------------+
! 3689 4 56789 ! 35789 3578 1 ! 368 3568 2 !
! 2389 138 12589 ! 6 358 2389 ! 4 1358 7 !
! 23678 1378 15678 ! 23578 4 2378 ! 9 13568 368 !
+-------------------+-------------------+-------------------+
! 1 378 278 ! 378 9 3678 ! 5 23678 4 !
! 23789 6 2789 ! 4 378 5 ! 238 2378 1 !
! 378 5 4 ! 1 2 3678 ! 368 9 368 !
+-------------------+-------------------+-------------------+
)
(try-to-eliminate 773)
whip[15]: r7n2{c3 c8} - r2n2{c8 c4} - r1n2{c6 c7} - r1n6{c7 c1} - c1n7{r1 r6} - r9n7{c1 c6} - r3n7{c6 c4} - r3n9{c4 c6} - b2n3{r3c6 r2c5} - r8c5{n3 n8} - r7n8{c6 c2} - r9c1{n8 n3} - c9n3{r9 r6} - r4n3{c8 c4} - c4n9{r4 .} ==> r7c3≠7
..7.6....6....85...8.24....7...5..2..2.4....6..9...1....891.2..3......9..7...6..8
Hidden Single: 9 in r9 => r9c1=9
Hidden Single: 2 in c1 => r1c1=2
Hidden Single: 2 in r2 => r2c9=2
Grouped AIC Type 1: 4r8c6 = (4-3)r7c6 = r7c89 - (3=4)r9c7 => r8c79<>4
Whip[5]: Supposing 5r8c6 would causes 5 to disappear in Box 9 => r8c6<>5
5r8c6 - 4c6(r8=r7) - r7c1(4=5) - 5r3(c1=c3) - 5r5(c3=c8) - 5b9(p8=.)
Whip[7]: Supposing 8r6c4 would causes 2 to disappear in Box 7 => r6c4<>8
8r6c4 - 6r6(c4=c2) - 6c3(r4=r8) - r8c7(6=7) - r8c4(7=5) - r9c4(5=3) - r9c5(3=2) - 2b7(p9=.)
Whip[10]: Supposing 5r8c3 would cause cell r8c9 to be empty => r8c3<>5
5r8c3 - 2c3(r8=r9) - 1r9(c3=c8) - 1r8(c9=c2) - 6b7(p5=p2) - 6r6(c2=c4) - 6r4(c4=c3) - 4c3(r4=r2) - 1r2(c3=c4) - 7c4(r2=r8) - r8c9(7=.)
Whip[11]: Supposing 7r6c4 would causes 2 to disappear in Box 5 => r6c4<>7
7r6c4 - 6c4(r6=r4) - 6b4(p3=p8) - 6r7(c2=c8) - r8c7(6=7) - 7c5(r8=r2) - 9c5(r2=r5) - 8b5(p5=p8) - 8r4(c4=c7) - r5c7(8=3) - 3r6(c9=c6) - 2b5(p9=.)
Whip[6]: Supposing 1r4c3 would causes 6 to disappear in Column 3 => r4c3<>1
1r4c3 - 1r9(c3=c8) - 1r8(c9=c2) - 1r2(c2=c4) - 7c4(r2=r8) - r8c7(7=6) - 6c3(r8=.)
Whip[8]: Supposing 1r3c8 would causes 1 to disappear in Row 9 => r3c8<>1
1r3c8 - 6r3(c8=c7) - r8c7(6=7) - 7c4(r8=r2) - 7r3(c6=c9) - 9r3(c9=c6) - 9r2(c5=c2) - 1r2(c2=c3) - 1r9(c3=.)
Whip[9]: Supposing 3r4c3 would cause cell r8c7 to be empty => r4c3<>3
3r4c3 - 6c3(r4=r8) - 2c3(r8=r9) - 1r9(c3=c8) - 1r8(c9=c2) - 4r8(c2=c6) - 4c3(r8=r2) - 1r2(c3=c4) - 7c4(r2=r8) - r8c7(7=.)
Whip[12]: Supposing 3r3c8 would causes 3 to disappear in Box 6 => r3c8<>3
3r3c8 - 6r3(c8=c7) - r8c7(6=7) - 7r7(c9=c6) - 7c4(r8=r2) - 7r3(c6=c9) - 9r3(c9=c6) - r2c5(9=3) - 3c3(r2=r5) - r5c6(3=1) - r4c6(1=3) - 3r7(c6=c9) - 3b6(p9=.)
Whip[11]: Supposing 4r4c3 would cause cell r3c8 to be empty => r4c3<>4
4r4c3 - 6c3(r4=r8) - 6r7(c2=c8) - 6r3(c8=c7) - r8c7(6=7) - 7r7(c9=c6) - 3r7(c6=c9) - r4c9(3=9) - 9r3(c9=c6) - 9c5(r2=r5) - 7r5(c5=c8) - r3c8(7=.)
Naked Single: r4c3=6
Hidden Single: 6 in r6 => r6c4=6
Grouped AIC Type 2: (1=5)r3c1 - (5=4)r7c1 - r89c3 = 4r2c3 => r2c3<>1
Whip[11]: Supposing 3r6c6 would causes 7 to disappear in Box 3 => r6c6<>3
3r6c6 - 2c6(r6=r8) - 4c6(r8=r7) - 4c1(r7=r6) - r6c2(4=5) - r6c9(5=7) - 7r7(c9=c8) - 3r7(c8=c9) - 5r7(c9=c1) - 5c3(r9=r3) - 3r3(c3=c7) - 7b3(p7=.)
Whip[11]: Supposing 4r7c8 would causes 4 to disappear in Column 1 => r7c8<>4
4r7c8 - r9c7(4=3) - 3r7(c9=c6) - r9c4(3=5) - r9c8(5=1) - 4r9(c8=c3) - r2c3(4=3) - 3r3(c3=c9) - 1b3(p9=p3) - 9c9(r1=r4) - 4c9(r4=r6) - 4c1(r6=.)
Whip[12]: Supposing 4r1c2 would causes 5 to disappear in Box 8 => r1c2<>4
4r1c2 - 4b4(p8=p7) - r7c1(4=5) - r7c2(5=6) - r8c2(6=1) - 1r9(c3=c8) - 1r2(c8=c4) - 7c4(r2=r8) - 8r8(c4=c5) - 8r6(c5=c8) - r1c8(8=3) - r1c4(3=5) - 5b8(p7=.)
Locked Candidates 2 (Claiming): 4 in r1 => r2c8<>4
Whip[7]: Supposing 4r9c3 would cause cell r2c3 to be empty => r9c3<>4
4r9c3 - 1r9(c3=c8) - 4b9(p8=p3) - r9c7(4=3) - 3r7(c8=c6) - 7r7(c6=c8) - r2c8(7=3) - r2c3(3=.)
Locked Candidates 2 (Claiming): 4 in r9 => r7c9<>4
Whip[7]: Supposing 3r2c3 would cause cell r8c6 to be empty => r2c3<>3
3r2c3 - 4c3(r2=r8) - 2c3(r8=r9) - 1r9(c3=c8) - r2c8(1=7) - 7r3(c9=c6) - r6c6(7=2) - r8c6(2=.)
Naked Single: r2c3=4
Whip[9]: Supposing 1r5c3 would causes 1 to disappear in Box 1 => r5c3<>1
1r5c3 - r8c3(1=2) - r9c3(2=5) - 1r9(c3=c8) - 1r8(c9=c2) - 1r2(c2=c4) - 7c4(r2=r8) - 5c4(r8=r1) - 5r3(c6=c1) - 1b1(p7=.)
Whip[10]: Supposing 8r6c5 would causes 8 to disappear in Column 8 => r6c5<>8
8r6c5 - 8c1(r6=r5) - 1b4(p4=p2) - r4c4(1=3) - r4c6(3=9) - 9c5(r5=r2) - 3c5(r2=r9) - r9c7(3=4) - 4r4(c7=c9) - 4c8(r6=r1) - 8c8(r1=.)
Whip[9]: Supposing 7r8c7 would causes 5 to disappear in Column 9 => r8c7<>7
7r8c7 - 6b9(p4=p2) - r3c8(6=7) - 7r7(c8=c6) - 3r7(c6=c9) - 7c9(r7=r6) - 7r5(c7=c5) - 8c5(r5=r8) - r8c4(8=5) - 5c9(r8=.)
Naked Single: r8c7=6
Hidden Single: 6 in r3 => r3c8=6
Hidden Single: 6 in r7 => r7c2=6
Whip[9]: Supposing 1r3c9 would cause cell r3c6 to be empty => r3c9<>1
1r3c9 - r3c1(1=5) - r3c3(5=3) - r5c3(3=5) - 5c2(r6=r8) - r8c9(5=7) - 7c4(r8=r2) - r2c8(7=3) - r2c5(3=9) - r3c6(9=.)
Grouped AIC Type 2: 9r1c2 = r2c2 - r2c5 = (9-8)r5c5 = (8-1)r4c4 = r12c4 - r3c6 = 1r3c13 => r1c2<>1
Whip[4]: Supposing 1r1c6 would causes 1 to disappear in Box 3 => r1c6<>1
1r1c6 - 1r5(c6=c1) - 1r3(c1=c3) - 1r9(c3=c8) - 1b3(p5=.)
Whip[6]: Supposing 1r4c4 would causes 4 to disappear in Box 3 => r4c4<>1
1r4c4 - 8r4(c4=c7) - 8r1(c7=c8) - 1r1(c8=c9) - 1c8(r2=r9) - 4r9(c8=c7) - 4b3(p1=.)
Locked Candidates 2 (Claiming): 1 in c4 => r3c6<>1
Locked Candidates 2 (Claiming): 1 in r3 => r2c2<>1
AIC Type 2: 3r5c3 = (3-1)r3c3 = r3c1 - r5c1 = 1r4c2 => r4c2<>3
AIC Type 2: 3r5c3 = r3c3 - (3=9)r2c2 - r2c5 = 9r5c5 => r5c5<>3
AIC Type 2: 3r5c3 = (3-1)r3c3 = r3c1 - r5c1 = 1r5c6 => r5c6<>3
AIC Type 2: 2r8c3 = (2-1)r9c3 = r9c8 - r2c8 = (1-7)r2c4 = (7-8)r8c4 = 8r8c5 => r8c5<>2
AIC Type 2: 7r8c4 = (7-1)r2c4 = r2c8 - r9c8 = 1r8c9 => r8c9<>7
Locked Candidates 1 (Pointing): 7 in b9 => r7c6<>7
Grouped AIC Type 1: 4r4c79 = (4-1)r4c2 = r8c2 - r8c9 = (1-4)r1c9 = 4r46c9 => r6c8<>4
AIC Type 2: (3=4)r9c7 - r9c8 = (4-8)r1c8 = 8r1c7 => r1c7<>3
Whip[5]: Supposing 3r1c8 would causes 3 to disappear in Box 8 => r1c8<>3
3r1c8 - 4c8(r1=r9) - r9c7(4=3) - 3r5(c7=c3) - 3r3(c3=c6) - 3b8(p3=.)
Whip[7]: Supposing 3r4c4 would causes 8 to disappear in Box 5 => r4c4<>3
3r4c4 - 8r4(c4=c7) - 8r1(c7=c8) - 4c8(r1=r9) - r9c7(4=3) - 3c5(r9=r2) - 9c5(r2=r5) - 8b5(p5=.)
Naked Single: r4c4=8
Hidden Single: 8 in r8 => r8c5=8
Whip[4]: Supposing 3r5c8 would causes 3 to disappear in Column 3 => r5c8<>3
3r5c8 - 3r4(c9=c6) - 3r7(c6=c9) - 3c7(r9=r3) - 3c3(r3=.)
Finned Jellyfish:3r3457\c3679 fr7c8 => r9c7<>3
Naked Single: r9c7=4
Hidden Single: 4 in c8 => r1c8=4
Hidden Single: 8 in r1 => r1c7=8
ALS Discontinuous Nice Loop: 1r3c1 = (1-3)r3c3 = r5c3 - (3=791)r5c567 - r5c1 = 1r3c1 => r3c1=1
Hidden Single: 1 in r5 => r5c6=1
Hidden Single: 1 in r4 => r4c2=1
Hidden Single: 4 in r4 => r4c9=4
Locked Candidates 1 (Pointing): 9 in b6 => r3c7<>9
Naked Pair: in r7c1,r8c2 => r9c3<>5,
AIC Type 2: 5r9c4 = r9c8 - (5=1)r8c9 - r1c9 = 1r1c4 => r1c4<>5
Locked Candidates 2 (Claiming): 5 in c4 => r7c6<>5
AIC Type 2: 3r4c6 = r4c7 - r5c7 = r5c3 - (3=5)r3c3 - r3c6 = 5r1c6 => r1c6<>3
AIC Type 2: 3r6c5 = r4c6 - (3=4)r7c6 - r7c1 = (4-8)r6c1 = 8r6c8 => r6c8<>3
Grouped Discontinuous Nice Loop: 7r2c45 = (7-1)r2c8 = r9c8 - r9c3 = (1-2)r8c3 = r8c6 - (2=7)r6c6 - r3c6 = 7r2c45 => r2c8,r3c6<>7
Naked Triple: in r1c6,r3c6,r4c6 => r7c6<>3,
Naked Single: r7c6=4
Hidden Single: 4 in r8 => r8c2=4
Hidden Single: 4 in r6 => r6c1=4
Hidden Single: 8 in r6 => r6c8=8
Hidden Single: 8 in r5 => r5c1=8
Full House: r7c1=5
Locked Candidates 2 (Claiming): 3 in r7 => r9c8<>3
Swordfish:3c367\r345 => r3c9<>3
XY-Chain: (3=1)r2c8 - (1=5)r9c8 - (5=3)r9c4 => r2c4<>3
XY-Chain: (9=3)r2c2 - (3=1)r2c8 - (1=5)r9c8 - (5=7)r5c8 - (7=9)r5c5 => r2c5<>9
Hidden Single: 9 in r2 => r2c2=9
Hidden Single: 9 in c5 => r5c5=9
Hidden Single: 9 in r4 => r4c7=9
Full House: r4c6=3
Locked Candidates 2 (Claiming): 7 in r5 => r6c9<>7
XY-Chain: (3=5)r6c2 - (5=3)r6c9 - (3=7)r7c9 - (7=9)r3c9 - (9=5)r3c6 - (5=3)r3c3 => r1c2,r5c3<>3
Hidden Single: 3 in r5 => r5c7=3
Full House: r3c7=7
Hidden Single: 3 in r3 => r3c3=3
Full House: r1c2=5
Full House: r6c2=3
Full House: r5c3=5
Full House: r5c8=7
Full House: r6c9=5
Hidden Single: 5 in r3 => r3c6=5
Full House: r3c9=9
Hidden Single: 9 in r1 => r1c6=9
Hidden Single: 7 in r7 => r7c9=7
Full House: r7c8=3
Hidden Single: 3 in r2 => r2c5=3
Hidden Single: 3 in r1 => r1c9=3
Full House: r1c4=1
Full House: r8c9=1
Full House: r2c4=7
Full House: r2c8=1
Full House: r9c8=5
Hidden Single: 5 in r8 => r8c4=5
Full House: r9c4=3
Hidden Single: 7 in r8 => r8c6=7
Full House: r8c3=2
Full House: r9c3=1
Full House: r9c5=2
Full House: r6c5=7
Full House: r6c6=2
Resolution state after Singles and whips[1]:
+-------------------+-------------------+-------------------+
! 2 13459 7 ! 135 6 1359 ! 3489 1348 1349 !
! 6 1349 134 ! 137 379 8 ! 5 1347 2 !
! 15 8 135 ! 2 4 13579 ! 3679 1367 1379 !
+-------------------+-------------------+-------------------+
! 7 1346 1346 ! 1368 5 139 ! 3489 2 349 !
! 158 2 135 ! 4 3789 1379 ! 3789 3578 6 !
! 458 3456 9 ! 3678 2378 237 ! 1 34578 3457 !
+-------------------+-------------------+-------------------+
! 45 456 8 ! 9 1 3457 ! 2 34567 3457 !
! 3 1456 12456 ! 578 278 2457 ! 467 9 1457 !
! 9 7 1245 ! 35 23 6 ! 34 1345 8 !
+-------------------+-------------------+-------------------+
192 candidates
t-whip[3]: r9c7{n4 n3} - r7n3{c9 c6} - c6n4{r7 .} ==> r8c7≠4, r8c9≠4
whip[5]: c6n4{r8 r7} - r7c1{n4 n5} - c9n5{r7 r6} - c2n5{r6 r1} - c4n5{r1 .} ==> r8c6≠5
t-whip[7]: c4n6{r6 r4} - c3n6{r4 r8} - r8c7{n6 n7} - r7n7{c9 c6} - c6n4{r7 r8} - r8n2{c6 c5} - r8n8{c5 .} ==> r6c4≠8
whip[10]: c3n2{r8 r9} - r9n1{c3 c8} - r8n1{c9 c2} - b7n6{r8c2 r7c2} - r6n6{c2 c4} - r4n6{c4 c3} - c3n4{r4 r2} - r2n1{c3 c4} - c4n7{r2 r8} - r8c9{n7 .} ==> r8c3≠5
whip[11]: c4n6{r6 r4} - b4n6{r4c3 r6c2} - r7n6{c2 c8} - r8c7{n6 n7} - c5n7{r8 r2} - c5n9{r2 r5} - b5n8{r5c5 r6c5} - c1n8{r6 r5} - r5c7{n8 n3} - r6n3{c9 c6} - r6n2{c6 .} ==> r6c4≠7
whip[6]: c3n6{r4 r8} - b7n1{r8c3 r8c2} - r9n1{c3 c8} - r2n1{c8 c4} - c4n7{r2 r8} - r8c7{n7 .} ==> r4c3≠1
whip[8]: r3n6{c8 c7} - r8c7{n6 n7} - c4n7{r8 r2} - b3n7{r2c8 r3c9} - r3n9{c9 c6} - r2n9{c5 c2} - r2n1{c2 c3} - r9n1{c3 .} ==> r3c8≠1
whip[9]: c3n6{r4 r8} - c3n2{r8 r9} - r9n1{c3 c8} - r8n1{c9 c2} - r8n4{c2 c6} - c3n4{r8 r2} - r2n1{c3 c4} - c4n7{r2 r8} - r8c7{n7 .} ==> r4c3≠3
whip[12]: r3n6{c8 c7} - r8c7{n6 n7} - r7n7{c9 c6} - c4n7{r8 r2} - b3n7{r2c8 r3c9} - r3n9{c9 c6} - r2c5{n9 n3} - c3n3{r2 r5} - r5c6{n3 n1} - r4c6{n1 n3} - c7n3{r4 r9} - c4n3{r9 .} ==> r3c8≠3
whip[12]: c6n2{r6 r8} - c6n4{r8 r7} - c1n4{r7 r6} - r4c3{n4 n6} - r6c2{n6 n5} - r6c9{n5 n7} - r7n7{c9 c8} - r7n3{c8 c9} - r7n5{c9 c1} - b1n5{r3c1 r3c3} - r3n3{c3 c7} - c7n7{r3 .} ==> r6c6≠3
whip[12]: r6n6{c4 c2} - r4c3{n6 n4} - c1n4{r6 r7} - r7c2{n4 n5} - r7n6{c2 c8} - r3n6{c8 c7} - r8c7{n6 n7} - r7c9{n7 n3} - r4c9{n3 n9} - r3n9{c9 c6} - c6n5{r3 r1} - c6n3{r1 .} ==> r6c4≠3
naked-single ==> r6c4=6
whip[11]: r4n6{c3 c2} - r7n6{c2 c8} - r3n6{c8 c7} - r8c7{n6 n7} - b8n7{r8c4 r7c6} - r7n3{c6 c9} - r4c9{n3 n9} - r3n9{c9 c6} - b5n9{r4c6 r5c5} - r5n7{c5 c8} - r3c8{n7 .} ==> r4c3≠4
naked-single ==> r4c3=6
t-whip[3]: r3c1{n1 n5} - r7c1{n5 n4} - c3n4{r9 .} ==> r2c3≠1
whip[11]: r9c7{n4 n3} - r7n3{c9 c6} - r9c4{n3 n5} - r9c8{n5 n1} - r9n4{c8 c3} - r2c3{n4 n3} - r3n3{c3 c9} - c9n1{r3 r1} - c9n9{r1 r4} - c9n4{r4 r6} - c1n4{r6 .} ==> r7c8≠4
whip[12]: b4n4{r6c2 r6c1} - r7c1{n4 n5} - r7c2{n5 n6} - r8c2{n6 n1} - b9n1{r8c9 r9c8} - r2n1{c8 c4} - c4n7{r2 r8} - b8n5{r8c4 r9c4} - r1c4{n5 n3} - r1c8{n3 n8} - r6n8{c8 c5} - r8n8{c5 .} ==> r1c2≠4
whip[1]: r1n4{c9 .} ==> r2c8≠4
whip[7]: r9n1{c3 c8} - b9n4{r9c8 r7c9} - r9c7{n4 n3} - b8n3{r9c4 r7c6} - r7n7{c6 c8} - r2c8{n7 n3} - r2c3{n3 .} ==> r9c3≠4
whip[1]: r9n4{c8 .} ==> r7c9≠4
whip[7]: c3n4{r2 r8} - c3n2{r8 r9} - r9n1{c3 c8} - r2c8{n1 n7} - b2n7{r2c4 r3c6} - r8c6{n7 n2} - r6c6{n2 .} ==> r2c3≠3
naked-single ==> r2c3=4
whip[9]: r8c3{n1 n2} - r9c3{n2 n5} - r9n1{c3 c8} - r8n1{c9 c2} - b1n1{r1c2 r3c1} - r2n1{c2 c4} - c4n7{r2 r8} - b8n5{r8c4 r7c6} - r3n5{c6 .} ==> r5c3≠1
whip[10]: c1n8{r6 r5} - b4n1{r5c1 r4c2} - r4c4{n1 n3} - r4c6{n3 n9} - b2n9{r1c6 r2c5} - c5n3{r2 r9} - r9c7{n3 n4} - r4n4{c7 c9} - r1n4{c9 c8} - c8n8{r1 .} ==> r6c5≠8
whip[9]: b9n6{r8c7 r7c8} - r3c8{n6 n7} - r7n7{c8 c6} - r7n3{c6 c9} - c9n7{r7 r6} - c9n5{r6 r8} - r8c4{n5 n8} - c5n8{r8 r5} - r5n7{c5 .} ==> r8c7≠7
singles ==> r8c7=6, r3c8=6, r7c2=6
whip[9]: r3c1{n1 n5} - r3c3{n5 n3} - r5c3{n3 n5} - b7n5{r9c3 r8c2} - r8c9{n5 n7} - c4n7{r8 r2} - r2n1{c4 c2} - r2n9{c2 c5} - r3c6{n9 .} ==> r3c9≠1
z-chain[4]: b3n1{r1c9 r2c8} - r9n1{c8 c3} - r3n1{c3 c1} - r5n1{c1 .} ==> r1c6≠1
z-chain[5]: r3n1{c3 c6} - r4n1{c6 c4} - b5n8{r4c4 r5c5} - c5n9{r5 r2} - c2n9{r2 .} ==> r1c2≠1
whip[6]: r4n8{c4 c7} - c8n8{r6 r1} - r1n1{c8 c9} - r1n4{c9 c7} - r9n4{c7 c8} - c8n1{r9 .} ==> r4c4≠1
whip[1]: b5n1{r5c6 .} ==> r3c6≠1
whip[1]: r3n1{c3 .} ==> r2c2≠1
biv-chain[3]: c3n3{r5 r3} - r2c2{n3 n9} - c5n9{r2 r5} ==> r5c5≠3
biv-chain[3]: c4n7{r8 r2} - r2n1{c4 c8} - b9n1{r9c8 r8c9} ==> r8c9≠7
whip[1]: r8n7{c6 .} ==> r7c6≠7
biv-chain[3]: b4n1{r4c2 r5c1} - b1n1{r3c1 r3c3} - c3n3{r3 r5} ==> r4c2≠3
biv-chain[3]: r5n1{c6 c1} - b1n1{r3c1 r3c3} - c3n3{r3 r5} ==> r5c6≠3
z-chain[4]: c9n4{r6 r1} - c9n1{r1 r8} - c2n1{r8 r4} - r4n4{c2 .} ==> r6c8≠4
biv-chain[3]: r1n8{c7 c8} - c8n4{r1 r9} - r9c7{n4 n3} ==> r1c7≠3
biv-chain[5]: b8n8{r8c5 r8c4} - c4n7{r8 r2} - c4n1{r2 r1} - c9n1{r1 r8} - r8c3{n1 n2} ==> r8c5≠2
whip[5]: c8n4{r1 r9} - r9c7{n4 n3} - b8n3{r9c4 r7c6} - r3n3{c6 c3} - r5n3{c3 .} ==> r1c8≠3
z-chain[7]: c5n8{r8 r5} - r4c4{n8 n3} - r6c5{n3 n2} - r9n2{c5 c3} - r9n1{c3 c8} - r2n1{c8 c4} - c4n7{r2 .} ==> r8c5≠7
singles ==> r8c5=8, r4c4=8
z-chain[4]: r4n3{c9 c6} - r7n3{c6 c9} - c7n3{r9 r3} - c3n3{r3 .} ==> r5c8≠3
finned-jellyfish-in-columns: n3{c2 c4 c5 c8}{r6 r1 r2 r9} ==> r9c7≠3
singles ==> r9c7=4, r1c8=4, r1c7=8
z-chain[4]: r5n8{c1 c8} - r5n5{c8 c3} - c3n3{r5 r3} - r3n1{c3 .} ==> r5c1≠1
singles ==> r4c2=1,r4c9=4, r5c6=1,> r3c1=1, r3c7≠9
naked-pairs-in-a-column: c3{r3 r5}{n3 n5} ==> r9c3≠5
biv-chain[3]: r9n5{c4 c8} - r8c9{n5 n1} - r1n1{c9 c4} ==> r1c4≠5
whip[1]: c4n5{r9 .} ==> r7c6≠5
biv-chain[4]: b5n3{r4c6 r6c5} - b4n3{r6c2 r5c3} - r3c3{n3 n5} - b2n5{r3c6 r1c6} ==> r1c6≠3
biv-chain[4]: r6n8{c8 c1} - c1n4{r6 r7} - r7c6{n4 n3} - r4n3{c6 c7} ==> r6c8≠3
z-chain[4]: r3n9{c9 c6} - r4c6{n9 n3} - r6n3{c5 c2} - c3n3{r5 .} ==> r3c9≠3
swordfish-in-rows: n3{r3 r4 r5}{c3 c6 c7} ==> r7c6≠3
singles ==> r7c6=4, r7c1=5, r5c1=8, r6c1=4, r8c2=4,r6c8=8
whip[1]: r7n3{c9 .} ==> r9c8≠3
naked-pairs-in-a-column: c6{r6 r8}{n2 n7} ==> r3c6≠7
whip[1]: r3n7{c9 .} ==> r2c8≠7
biv-chain[3]: r2n1{c4 c8} - r9c8{n1 n5} - r9c4{n5 n3} ==> r2c4≠3
biv-chain[3]: r3c7{n7 n3} - c8n3{r2 r7} - c8n7{r7 r5} ==> r5c7≠7
singles ==> r3c7=7, r3c9=9, r6c9≠3
naked-pairs-in-a-row: r1{c4 c9}{n1 n3} ==> r1c2≠3
biv-chain[3]: r8n5{c4 c9} - r6c9{n5 n7} - c6n7{r6 r8} ==> r8c4≠7
stte