Prelims
a) R34C3 = {39/48/57}, no 1,2,6
b) R34C4 = {19/28/37/46}, no 5
c) R34C6 = {19/28/37/46}, no 5
d) R34C7 = {49/58/67}, no 1,2,3
e) R5C34 = {17/26/35}, no 4,8,9
f) R5C67 = {17/26/35}, no 4,8,9
g) R67C3 = {18/27/36/45}, no 9
h) R67C4 = {29/38/47/56}, no 1
i) R67C5 = {29/38/47/56}, no 1
j) R67C6 = {49/58/67}, no 1,2,3
k) R67C7 = {14/23}
l) 19(3) cage at R3C5 = {289/379/469/478/568}, no 1
m) 14(4) cage at R1C8 = {1238/1247/1256/1346/2345}, no 9
n) 27(4) cage at R4C8 = {3789/4689/5679}, no 1,2
o) 14(4) cage at R8C3 = {1238/1247/1256/1346/2345}, no 9
[A lot of obvious 45s to start with]
1a. 45 rule on R12 2 innies R2C18 = 12 = {39/48/57}, no 1,2,6
1b. 45 rule on R6789 2 innies R6C29 = 15 = {69/78}
1c. 45 rule on R89 2 innies R8C29 = 8 = {17/26/35}, no 4,8,9
1d. 45 rule on C12 2 outies R29C3 = 10 = {19/28/37/46}, no 5
1e. 45 rule on C1234 2 outies R29C5 = 7 = {16/25/34}, no 7,8,9
1f. 45 rule on C6789 2 outies R18C5 = 8 = {17/26/35}, no 4,8,9
1g. 45 rule on C89 2 outies R18C7 = 7 = {16/25} (cannot be {34} which clashes with R67C7)
1h. 45 rule on C789 3 innies R259C7 = 20 = {389/479/578} (cannot be {569} which clashes with R34C7), no 1,2,6, clean-up: no 2,6,7 in R5C6
1i. 3 of {389} must be in R5C7 -> no 3 in R29C7
1j. 45 rule on N1 2 outies R4C23 = 1 innie R1C3 + 7, IOU no 7 in R4C2
2a. 27(4) cage at R4C8 = {3789/4689/5679}, 9 locked for N6, clean-up: no 4 in R3C7
2b. 1 in C5 only in R18C5 (step 1f) = {17} or R29C5 (step 1e) = {16} -> R18C5 = {17/35} (cannot be {26}, blocking cages), no 2,6
2c. 8 in C5 only in 19(3) cage at R3C5 = {289/478/568} or R37C5 = {38} -> 19(3) cage = {289/469/478/568} (cannot be {379}, blocking cages), no 3
3a. 45 rule on N3 2 innies R23C7 = 1 innie R4C9 + 14
3b. Max R23C7 = 17 -> max R4C9 = 3
3c. Min R23C7 = 15, no 4,5 in R23C7, clean-up: no 8 in R4C7
4a. R259C7 (step 1h) = {389/479/578}
4b. 45 rule on N6 5 innies R4C79 + R5C7 + R6C78 = 18 = {12357/12456} (cannot be {12348} because R45C7 = [43] clashes with R67C7), no 8, 5 locked for N6
4c. 5 of {12456} must be in R5C7 -> R29C7 (step 1h) = {78}, locked for C7 -> R34C7 = [94] -> no 6 in R4C7, clean-up: no 7 in R3C7
4d. 45 rule on N9 2 innie R79C7 = 1 outie R6C8 + 6
4e. R6C8 + R679C7 cannot be [6239/6148] which both clash with R34C7 = [94] -> cannot place both of 4,6 in R4C79 + R5C7 + R6C78 -> R4C79 + R5C7 + R6C78 = {12357} , no 4,6, clean-up: no 9 in R3C7, no 1 in R7C7
4f. R4C79 + R5C7 + R6C78 = {12357}, 3,7 locked for N6, clean-up: no 8 in R6C2 (step 1b)
4g. Killer pair 5,6 in R18C7 and R34C7, locked for C7, clean-up: no 3 in R5C6
4h. R259C7 = {389/479}
4i. R5C7 = {37} -> no 7 in R29C7
4j. 7 in C7 only in R45C7, locked for N6
4k. R6C8 + R679C7 cannot be [5329/5238] which clash with R45C7 -> no 5 in R6C8
4l. R45C7 = [57] (hidden pair in N6) -> R3C7 = 8, R5C6 = 1, R29C7 = [94], clean-up: no 3,4 in R2C1, no 3 in R2C8 (both step 1a), no 6 in R2C3, no 1 in R9C3 (both step 1d), no 3 in R2C5 (step 1e), no 7 in R3C3, no 9 in R3C4, no 9 in R3C6, no 4 in R4C3, no 2 in R4C4, no 2,9 in R4C6, no 1 in R6C7
4m. 45 rule on N3 outie = 3 -> R67C7 = [23], R6C8 = 1, clean-up: no 9 in R3C3, no 6 in R6C3, no 8 in R6C4, no 8 in R6C5, no 7,8 in R7C3, no 9 in R7C4, no 9 in R7C5, no 5,7 in R8C2 (step 1c)
4n. R1C8 = 3 (hidden single in N3) -> 14(4) cage at R1C7 = {1346} (only possible combination, cannot be {2345} because R1C7 only contains 1,6), locked for N3, 4 locked for C9, clean-up: no no 8 in R2C1 (step 1a), no 7 in R3C4, no 7 in R3C6, 5 in R8C5 (step 1f)
4o. Naked pair {57} in R2C18, locked for R2, clean-up: no 3 in R9C3 (step 1d), no 2 in R9C5 (step 1e)
4p. 2 in N3 only in R3C89, locked for R3, clean-up: no 8 in R4C4, no 8 in R4C6
4q. 1 in N9 only in 21(4) cage at R8C4 = {1569/1578}, no 2, 5 locked for N9, clean-up: no 3 in R8C2 (step 1c)
4r. R67C6 = {49/58} (cannot be {67} which clashes with R34C6), no 6,7
4s. Killer pair 1,6 in R8C29 and R8C7, locked for R8, clean-up: no 7 in R1C5 (step 1f)
4t. 1 in N8 only in R9C45, locked for R9
4u. R8C7 = 1 (hidden single in N9) -> R1C7 = 6, clean-up: no 7 in R8C9 (step 1c)
4v. Naked pair {26} in R8C29, 2 locked for R8
5a. 20(4) cage at R1C5 = {1289/1379/1469/2459} (cannot be {2369} because R1C5 only contains 1,5)
5b. R1C5 = {15} -> no 5 in R1C6
5c. 22(4) cage at R8C5 = {2479/3469/3478/4567}
5d. 5 in C6 only in R67C6 = {58} or 22(4) cage = {4567} -> 22(4) cage = {2479/3469/4567} (cannot be {3478}, blocking cages), no 8
5e. R8C5 = {37} -> no 3,7 in R89C6
5f. 3 in C6 only in R23C6, locked for N2, clean-up: no 7 in R4C4
5g. 20(4) cage = {1289/1379/2459} (cannot be {1469} which clashes with R3C4), no 6
5h. 23(4) cage at R1C3 = {1679/2489/2678/4568} (cannot be {1589} which clashes with R1C5, cannot be {2579} because 5,7,9 only in R1C34)
5i. 23(4) cage = {2489/2678/4568} (cannot be {1679} = {79}{16} which clashed with 20(4) cage + R3C4), no 1, clean-up: no 6 in R9C5 (step 1e)
5j. Consider placement for 4,6 in N8, no 4,6 in R89C5 -> at least one of 4,6 must be in R789C4 + R79C6
At least one of 4,6 in R789C4 => R34C4 = [19] => 20(4) cage = {2459}
or at least one of 4,6 in R79C6 => R34C6 = [37] => 20(4) cage = {1289/2459}
-> 20(4) cage = {1289/2459} (cannot be {1379}), no 3,7, 2 locked for C6 and N2, clean-up: no 5 in R9C5 (step 1e)
[Cracked at last.]
5k. R3C6 = 3 (hidden single in N2) -> R3C7 = 7, clean-up: no 5 in R3C3, no 9 in R4C3, no 4 in R7C4, no 4 in R7C5
5l. R34C3 = [48], clean-up: no 2 in R2C3, no 2,6 in R9C3 (both step 1d), no 6 in R4C4, no 5 in R6C3, no 1,5 in R7C3
6a. R9C6 = 6 (hidden single in C6), clean-up: no 5 in R6C4, no 5 in R6C5
6b. 21(4) cage at R8C7 = 1{578} (only remaining combination), 7,8 locked for N9
6c. Naked quad {2689} in R5678C9, 2,8 locked for C9
6d. R3C8 = 2 (hidden single in N3)
6e. Naked triple {269} in R7C389, locked for R7, clean-up: no 5,9 in R6C4, no 5,9 in R6C5, no 4 in R6C6
6f. R29C3 (step 1d) = [19] (cannot be [37] which clashes with R6C6) -> R12C9 = [14]
6g. R2C456 = [862], R1C56 = [54], R8C5 = 3 (step 1f), R8C6 = 9 (hidden single in N8)
6h. R6C5 = 4 -> R7C5 = 7, R7C4 = 5 -> R6C4 = 6, R67C6 = [58], clean-up: no 2,3 in R5C3
6i. R7C12 = {14}, 4 locked for N7
6j. R7C12 = {14} = 5 -> R6C1 + R8C2 = 11 = [92]
6k. R7C3 = 6 -> R56C3 = [53], R18C3 = [27]
6l. 45 rule on N4 1 remaining innie R4C1 = 1
and the rest is naked singles.