@ Cenoman: very nice and powerful one-stepper!
I found a solution with two steps as follows.
- Code: Select all
 .----------------------------------------------------------.
| 6789  5789  3    | 569     1     569  | 789    2    4    |
| 689   1     89   | 7       4     2    | 3589   568  3569 |
| 4     579   2    | 8      e3569 f3569 | 79     67   1    |
|------------------+--------------------+------------------|
| 1     2     6    | 459   A579    8    | 457    3    5-7  |
| 78    378   478  | 13456  d3567  3567 | 14578  9    2    |
| 5     3789  4789 | 134     2    g37   | 1478   678  67   |
|------------------+--------------------+------------------|
| 789   789   1    | 2      c3579  4    | 6      57   3579 |
| 3     4     5    | 69      8   hb679  | 2      1  ia79   |
| 2     6     79   | 359    c3579  1    | 3579   4    8    |
'----------------------------------------------------------'
1. If r4c5 <> 7, we have the following discontinuous loop (DL)
(7)r8c9 = r8c6 - (7)r79c5 *=* (7-6)r5c5 = (6-3)r3c5 = r3c6 - (3=7)r6c6 - r8c6 = (7)r8c9
that implies the placement of 7 at r8c9. So, (7)r4c5 == (7)r8c9 => -7 r4c9
Or, as chain: (7)r4c5 = DL => -7 r4c9    [1 placement & basics]
- Code: Select all
 .-------------------------------------------------------.
| 678  578   3    | 569    1     569  | 789   2     4   |
| 689  1     89   | 7      4     2    | 35    568   3-6 |
| 4    57    2    | 8      3569  3569 | 79   a67    1   |
|-----------------+-------------------+-----------------|
| 1    2     6    | 49     79    8    | 47    3     5   |
| 78   378   478  | 13456  3567  3567 | 1478  9     2   |
| 5    3789  4789 | 134    2     37   | 1478  78-6 d67  |
|-----------------+-------------------+-----------------|
| 789  789   1    | 2      3579  4    | 6    b57   c379 |
| 3    4     5    | 69     8     679  | 2     1    c79  |
| 2    6     79   | 359    3579  1    | 35    4     8   |
'-------------------------------------------------------'
2. Grouped W-Wing (6=7)r3c8 - r7c8 = r78c9 - (7=6)r7c9 => -6 r2c9,r6c8; ste