Your chain violates a number of the requirements for nice loops for example, r3c2=4=r3c4-8- is not valid since a valid continuous link would require a "-4-" link or a strong link with a different label following the "=4=". The weak link: r3c4-8-r3c2-8- is also invalid since the r3c4-8- needs to be followed by a weak link with a different label or a strong link with the same label. Here's an example of the only simple nice loop my solver found from the PM that was posted. To read up more on nice loops try
Jeff's post or for a different perspect
Myth's AIC post. Note I like to identify discontinuities with "~". Think of them as "-".
- Code: Select all
4-element Nice Loop: r6c5 =3= r4c5 -3- r4c7 -6- r5c9 =6= r5c1 =4= r6c1 ~4~ r6c5 => r6c5<>4
+-----------------+--------------------+------------------+
| 7 36 2 | 569 1 56 | 4 359 8 |
| 3568 468 1 | 7 4589 4568 | 2 59 359 |
| 58 48 9 | 458 2 3 | 7 6 1 |
+-----------------+--------------------+------------------+
| 268 2678 5 | 1689 389* 168 | 36* 4 23679 |
| 468* 1 3 | 2 489 7 | 5 89 69* |
| 2468* 9 78 | 4568 358-4* 4568 | 1 278 2367 |
+-----------------+--------------------+------------------+
| 9 5 6 | 3 47 124 | 8 127 27 |
| 238 278 4 | 158 578 9 | 36 1257 23567 |
| 1 2378 78 | 58 6 258 | 9 2357 4 |
+-----------------+--------------------+------------------+
After this it looks like grouped nice loops are required. The simplest of these add grouped strong links, for example, the r789c8 =2= r6c8 grouped strong link in the following elimination. This is a continuous nice loop.
- Code: Select all
Continuous 3-element Strong Nice Loop: r789c8 =2= r6c8 =7= r46c9 -7- r7c9 -2- r789c8 => r6c8=27,r8c9<>7,r8c9<>2
+-----------------+-------------------+-------------------+
| 7 36 2 | 569 1 56 | 4 359 8 |
| 3568 468 1 | 7 4589 4568 | 2 59 359 |
| 58 48 9 | 458 2 3 | 7 6 1 |
+-----------------+-------------------+-------------------+
| 268 2678 5 | 1689 389 168 | 36 4 23679*b |
| 468 1 3 | 2 489 7 | 5 89 69 |
| 2468 9 78 | 4568 358 4568 | 1 27-8* 2367*b |
+-----------------+-------------------+-------------------+
| 9 5 6 | 3 47 124 | 8 127* 27* |
| 238 278 4 | 158 578 9 | 36 1257* 356-72 |
| 1 2378 78 | 58 6 258 | 9 2357* 4 |
+-----------------+-------------------+-------------------+
Since we were discussing them elsewhere here's an example of a grouped strong nice loop where the end nodes overlap:
- Code: Select all
Overlap 5-element Grouped Advanced Colouring: r4c12 =2= r6c1 =4= r5c1 =6= r5c9 =9= r4c9 =2= r4c12 ~2~ => r4c9<>2,r6c1<>2
+-------------------+-------------------+-------------------+
| 7 36 2 | 569 1 56 | 4 359 8 |
| 3568 468 1 | 7 4589 4568 | 2 59 35 |
| 58 48 9 | 458 2 3 | 7 6 1 |
+-------------------+-------------------+-------------------+
| 268*b 2678*b 5 | 1689 389 168 | 36 4 3679-2* |
| 46* 1 3 | 2 49 7 | 5 8 69* |
| 468-2* 9 78 | 4568 358 4568 | 1 27 2367 |
+-------------------+-------------------+-------------------+
| 9 5 6 | 3 47 124 | 8 127 27 |
| 238 278 4 | 158 578 9 | 36 1257 356 |
| 1 2378 78 | 58 6 258 | 9 2357 4 |
+-------------------+-------------------+-------------------+
In the first example the elimination was in one of the end nodes. Here's a third type of discontinuity where the eliminations are in cells which see both end nodes:
- Code: Select all
4-element Grouped Advanced Colouring: r5c1 =6= r5c9 =9= r4c9 =7= r4c2 =6= r12c2 ~6~ => r2c1<>6,r4c2<>6
+-------------------+-------------------+-----------------+
| 7 36*b 2 | 569 1 56 | 4 359 8 |
| 358-6 468*b 1 | 7 4589 4568 | 2 59 35 |
| 58 48 9 | 458 2 3 | 7 6 1 |
+-------------------+-------------------+-----------------+
| 268 278-6* 5 | 1689 389 168 | 36 4 3679* |
| 46* 1 3 | 2 49 7 | 5 8 69* |
| 468 9 78 | 4568 358 4568 | 1 27 2367 |
+-------------------+-------------------+-----------------+
| 9 5 6 | 3 47 124 | 8 127 27 |
| 238 278 4 | 158 578 9 | 36 1257 356 |
| 1 2378 78 | 58 6 258 | 9 2357 4 |
+-------------------+-------------------+-----------------+
Here's the complete solution from my solver using the above examples:
- Code: Select all
4-element Nice Loop: r6c5 =3= r4c5 -3- r4c7 -6- r5c9 =6= r5c1 =4= r6c1 ~4~ r6c5 => r6c5<>4
Continuous 3-element Strong Nice Loop: r789c8 =2= r6c8 =7= r46c9 -7- r7c9 -2- r789c8 => r6c8=27,r8c9<>7,r8c9<>2
Hidden Single in a box: r5c8 => r5c15<>8,r5c8=8
Locked Column Line/Box: r45c9 => r2c9<>9
Overlap 5-element Grouped Advanced Colouring: r4c12 =2= r6c1 =4= r5c1 =6= r5c9 =9= r4c9 =2= r4c12 ~2~ => r4c9<>2,r6c1<>2
4-element Grouped Advanced Colouring: r5c1 =6= r5c9 =9= r4c9 =7= r4c2 =6= r12c2 ~6~ => r2c1<>6,r4c2<>6
6-element Nice Loop: r1c8 =3= r1c2 =6= r2c2 =4= r3c2 -4- r3c4 =4= r6c4 -4- r5c5 -9- r2c5 =9= r2c8 ~9~ r1c8 => r1c8<>9
+----------------+-------------------+-----------------+
| 7 36 2 | 569 1 56 | 4 35-9 8 |
| 358 468 1 | 7 4589 4568 | 2 59 35 |
| 58 48 9 | 458 2 3 | 7 6 1 |
+----------------+-------------------+-----------------+
| 268 278 5 | 1689 389 168 | 36 4 3679 |
| 46 1 3 | 2 49 7 | 5 8 69 |
| 468 9 78 | 4568 358 4568 | 1 27 2367 |
+----------------+-------------------+-----------------+
| 9 5 6 | 3 47 124 | 8 127 27 |
| 238 278 4 | 158 578 9 | 36 1257 356* |
| 1 2378 78 | 58 6 258 | 9 2357 4 |
+----------------+-------------------+-----------------+
Hidden Single in a box: r2c8 => r2c5<>9,r2c8=9
Hidden Single in a box: r1c4 => r1c4=9,r4c4<>9
Locked Column Line/Box: r12c6 => r46c6<>6
Incomplete solution
3-element Nice Loop: r4c5 =9= r4c9 -9- r5c9 -6- r4c7 ~3~ r4c5 => r4c5<>3
+----------------+-------------------+-----------------+
| 7 36 2 | 9 1 56 | 4 35 8 |
| 358 468 1 | 7 458 4568 | 2 9 35 |
| 58 48 9 | 458 2 3 | 7 6 1 |
+----------------+-------------------+-----------------+
| 268 278 5 | 168 89-3* 18 | 36* 4 3679* |
| 46 1 3 | 2 49 7 | 5 8 69* |
| 468 9 78 | 4568 358 458 | 1 27 2367 |
+----------------+-------------------+-----------------+
| 9 5 6 | 3 47 124 | 8 127 27 |
| 238 278 4 | 158 578 9 | 36 1257 356 |
| 1 2378 78 | 58 6 258 | 9 2357 4 |
+----------------+-------------------+-----------------+
Hidden Single in a box: r6c5 => r6c5=3,r6c9<>3
Column X-Wing: r28c59 => r2c16<>5,r8c48<>5
Hidden Single in a box: r3c1 => r3c1=5,r3c4<>5
Hidden Column Pair: r19c8 => r9c8=35
Locked Row Box/Box: r7c589|r8c58 => r8c2<>7
7-node XY-ring: r2c9 -3- r2c1 -8- r3c2 -4- r3c4 -8- r9c4 -5- r9c8 -3- r1c8 -5- r2c9 => r2c2<>8,r468c4<>8,r9c6<>5
+----------------+-------------------+----------------+
| 7 36 2 | 9 1 56 | 4 35* 8 |
| 38* 46-8 1 | 7 458 468 | 2 9 35* |
| 5 48* 9 | 48* 2 3 | 7 6 1 |
+----------------+-------------------+----------------+
| 268 278 5 | 16-8 89 18 | 36 4 3679 |
| 46 1 3 | 2 49 7 | 5 8 69 |
| 468 9 78 | 456-8 3 458 | 1 27 267 |
+----------------+-------------------+----------------+
| 9 5 6 | 3 47 124 | 8 127 27 |
| 238 28 4 | 1-8 578 9 | 36 127 356 |
| 1 2378 78 | 58* 6 28-5 | 9 35* 4 |
+----------------+-------------------+----------------+
Naked Single: r8c4 => r8c4=1,r8c8<>1,r4c4<>1,r7c6<>1
Hidden Pair in a box: r56c1 => r6c1=46
XYZ-wing: r2c6|r3c4, r2c2 => r2c5<>4
Hidden Row Pair: r2c26 => r2c6=46
Column X-Wing: r69c36 => r9c24<>8
The Solution is completed with singles