Prelims
a) R1C34 = {19/28/37/46}, no 5
b) R1C56 = {18/27/36/45}, no 9
c) R23C6 = {49/58/67}, no 1,2,3
d) R2C78 = {19/28/37/46}, no 5
e) R45C9 = {14/23}
f) R5C34 = {39/48/57}, no 1,2,6
g) R56C5 = {29/38/47/56}, no 1
h) R56C6 = {29/38/47/56}, no 1
i) R67C3 = {69/78}
j) R9C23 = {18/27/36/45}, no 9
k) 6(3) cage at R3C7 = {123}
l) 20(3) cage at R3C1 = {389/479/569/578}, no 1,2
m) 29(4) cage at R1C7 = {5789}
n) 10(4) cage at R5C2 = {1234}
o) and, of course, all three 45(9) cages = {123456789}
Steps resulting from Prelims
1a. Naked triple {123} in 6(3) cage at R3C7, locked for R3 and N3
1b. Naked quad {5789} in 29(4) cage at R1C7, locked for N3
1c. Naked quad {1234} in 10(4) cage at R5C2, CPE no 3,4 in R45C1
1d. Naked pair {46} in R2C78, locked for R2, clean-up: no 7,9 in R3C6
2. Max R3C9 + R45C9 = 8(3) must contain 1, locked for C9
3. 45 rule on N69 1 innie R9C7 = 1 outie R4C6 + 8 -> R4C6 = 1, R9C7 = 9, clean-up: no 8 in R1C5, no 4 in R5C9
3a. R6C8 = 9 (only place for 9 in 45(9) cage at R5C7), clean-up: no 2 in R5C5, no 2 in R5C6, no 6 in R7C3
3b. 1 in 45(9) cage at R2C2 only in R2C2345, locked for R2
3c. 1 in N4 only in R5C2 + R6C12, locked for 10(4) cage at R5C2, no 1 in R7C1
4. 45 rule on R1 2 outies R2C19 = 16 = {79}, locked for R2, clean-up: no 4,6 in R3C6
4a. 5,8 in N3 only in R1C789, locked for R1, clean-up: no 2 in R1C34, no 1,4 in R1C5, no 4 in R1C6
4b. R1C34 = {19/46} (cannot be {37} which clashes with R1C56), no 3,7 in R1C34
5. Naked pair {58} in R23C6, locked for C6 and N2, clean-up: no 3,6 in R56C6
5a. Killer triple 1,2,3 in R1C56 and R2C45, locked for N2, 1 also locked for R2, clean-up: no 9 in R1C3
5b. 2,3 in R2 only in R2C2345, locked for 45(9) cage at R2C2, no 2,3 in R4C25
6. 13(3) cage at R1C1 = {139/247}, no 6
6a. R2C1 = {79} -> no 7,9 in R1C12
7. 20(3) cage at R3C1 = {569/578} (cannot be {479} which clashes with R2C1), no 4, 5 locked for C1
7a. Killer pair 7,9 in R2C1 and 20(3) cage, locked for C1
8. 17(4) cage at R4C6 contains 1 = {1268/1358/1367/1457}
8a. 45 rule on N6 3 remaining innies R56C7 + R6C9 = 15 = {168/258/267/357} (cannot be {348} which clashes with R45C9, cannot be {456} which clashes with 17(4) cage), no 4
8b. 4 in 45(9) cage at R5C7 only in R7C7 + R8C789 + R9C89, locked for N9
9. 45 rule on N78 2 remaining outies R6C34 = 1 innie R7C1 + 8
9a. Max R7C1 = 4 -> max R6C34 = 12 -> max R6C4 = 5 (because R6C34 cannot be [66])
10. R7C3 “sees” all 7,8,9 in 45(9) cage at R6C4 except for R8C4 -> R7C3 = R8C4 = {789}
10a. 9 in N7 only in R78C23, CPE no 9 in R7C45
11. 17(3) cage at R7C6 = {269/359/368/467} (cannot be {179/278} which clash with R56C6, cannot be {458} because 5,8 only in R8C5), no 1
11a. 5,8 of {359/368} must be in R8C5 -> no 3 in R8C5
12. R7C1 “sees” all cells of 45(9) cage at R6C4 except for R68C4, R7C3 = R8C4 = {789} (step 10) cannot equal R7C1 -> R7C1 = R6C4 = {234}
12a. R7C1 = R6C4, R7C3 = R8C4 -> R7C45 = R9C23 (the same pair of numbers totalling 9, Law of Leftovers)
[Ed saw this more directly. R7C45 “see” all of N7 except for R9C23 …]
12b. 45 rule on N8 3 remaining innies R7C45 + R8C4 = 16, R7C45 = 9 -> R8C4 = 7, R7C3 = 7, R6C3 = 8, clean-up: no 5 in R5C3, no 4,5 in R5C4, no 3 in R5C5, no 1,2 in R9C2, no 2 in R9C3
12c. 7 in R9 only in R9C89, locked for 45(9) cage at R5C7, no 7 in R56C7
13. 7 in R9 only in R9C89
13a. 45 rule on R9 3 innies R9C189 = 15 = {267/357}, no 1,4,8
13b. R9C23 = {45}/[81] (cannot be {36} which clashes with R9C189), no 3,6 in R9C23
13c. R9C23 = {45}/[81] -> R7C45 = {18/45} (step 12a), no 2,3,6
14. 15(3) cage at R6C9 = {168/258/267/357}
14a. 7 of {357} must be in R6C9 -> no 3 in R6C9
14a. 5 of {258} must be in R6C9 (R7C89 cannot be {58} which clashes with R7C45), 7 of {267} must be in R6C9 -> no 2 in R6C9
15. 17(3) cage at R3C3 = {269/359/368/458}
15a. 8 of {458} must be in R4C4 -> no 4 in R4C4
16. 20(3) cage at R3C1 (step 7) = {569/578}
16a. 8 of {578} must be in R3C1 -> no 7 in R3C1
16b. 7 in R3 only in R3C25, locked for 45(9) cage at R2C2, no 7 in R4C25
17. 5,6 in N4 only in R4C123 + R5C1 -> R4C123 must contain at least one of 5,6
17a. 5,6 in N5 only in R4C45 or R56C5 (locking cages because R56C5 is a 11(2) cage), but R4C45 cannot be {56} (which clashes with R4C123) -> R56C5 = {56}, locked for C5 and N5, clean-up: no 3 in R1C6, no 4 in R7C4 (step 13c)
17b. 7 in N5 only in R56C6 = {47}, locked for C6 and N5, clean-up: no 2 in R1C5, no 4 in R7C1 (step 12)
18. 10(4) cage at R5C2 = {1234}, 4 locked for N4, clean-up: no 8 in R5C4
18a. Naked pair {39} in R5C34, locked for R5, clean-up: no 2 in R4C9
19. 9 in C6 only in R78C6, locked for N8
19a. 17(3) cage at R7C6 (step 11) contains 9 = {269} (only remaining combination) -> R8C5 = 2, R78C6 = {69}, locked for C6 and N8 -> R1C6 = 2, R1C5 = 7, R9C6 = 3
20. R12C9 = [97] (hidden pair in N3), R2C1 = 9, R9C8 = 7 (hidden single in R9), R4C7 = 7 (hidden single in N6), R5C1 = 7 (hidden single in C1), R56C6 = [47]
21. 20(3) cage at R3C1 (step 7) = {578} (only remaining combination) -> R34C1 = [85], R23C6 = [85]
21a. R4C5 = 8 (only remaining place for 8 in 45(9) cage at R2C2), R3C5 = 9 (hidden single in C5), R4C2 = 6, R3C4 = 4, R1C4 = 6, R1C3 = 4, clean-up: no 1 in R7C4 (step 13c), no 5 in R9C2
22. R2C5 = 3 (hidden single in C5), R2C4 = 1
23. R3C3 = 6, R4C34 = 11 = {29}, locked for R4
24. Naked pair {34} in R4C89, locked for N6
24a. R4C67 = [17] = 8 -> R45C8 = 9 = [36/45]
24b. Naked pair {56} in R5C8 + R6C9, locked for N6
25. R5C7 = 8 (hidden single in N6), R1C78 = [58]
26. 15(3) cage at R6C9 (step 14) = {168/258} -> R7C9 = 8, R7C4 = 5, R7C5 = 4 (step 13c), R9C45 = [81], R9C23 = [45], R2C23 = [52], R4C34 = [92], R5C34 = [39], R8C3 = 1, R6C4 = 3, R7C1 = 3 (step 12)
27. R89C1 = [62], R9C9 = 6, R6C9 = 5, R5C8 = 6, R2C78 = [64], R4C8 = 3, R4C9 = 4, R5C9 = 1
and the rest is naked singles.