Prelims
a) R12C4 = {49/58/67}, no 1,2,3
b) R1C67 = {39/48/57}, no 1,2,6
c) R1C89 = {13}
d) R89C6 = {29/38/47/56}, no 1
e) R9C12 = {18/27/36/45}, no 9
f) 6(3) cage at R8C4 = {123}
g) 11(4) cage at R5C2 = {1235}
h) 26(4) cage at R6C5 = {2789/3689/4589/4679/5678}, no 1
i) 35(7) cage at R1C2 = {1235789/1245689/1345679/2345678}
j) 31(7) cage at R7C4 = {1234579/1234678}
Steps resulting from Prelims
1a. Naked pair {13} in R1C89, locked for R1 and N3, clean-up: no 9 in R1C67
1b. 6(3) cage at R8C4 = {123}, locked for N8, clean-up: no 8,9 in R89C6
1c. 11(4) cage at R5C2 = {1235}, CPE no 1,2,3,5 in R6C1
1d. 35(7) cage at R1C2 must contain 5, CPE no 5 in R3C12
1e. 31(7) cage at R7C4 = {1234579/1234678}, 1,2,3 locked for N9
1f. 31(7) cage at R7C4 = {1234579/1234678}, CPE no 4,7 in R7C89
1g. Min R7C89 = 11 -> max R6C9 = 7
1h. 8,9 in N8 only in R7C456 + R9C4, CPE no 8,9 in R9C78
[Maybe this is the CPE which JSudoku couldn’t find.]
2. 18(3) cage at R6C9 = {459/468} (cannot be {189/279/369/567} which clash with 31(7) cage at R7C4, cannot be {378} because 3,7 only in R6C9) -> R6C9 = 4
2a. 1 in R6 only in R6C234, locked for 11(4) cage at R5C2, no 1 in R5C2
2b. 26(4) cage at R6C5 = {2789/3689/5678}, 8 locked for R6
2c. 45 rule on N8 4 innies R7C456 + R9C4 = 26 = {4789} (cannot be {5689} which clashes with 18(3) cage, ALS block; alternatively that 5,6,8,9 cannot be the only values in R7C45689), locked for N8
2d. 4,7 of {4789} must be in R7C456 (R7C456 cannot contain both of 8,9 which clashes with 18(3) cage), locked for R7, N8 and 31(7) cage at R7C4
2e. 31(7) cage = {1234579/1234678} contains one of 8,9 which must be in R7C456 -> no 8,9 in R78C7
2f. Killer pair 5,6 in R789C7 + R9C8 and 18(3) cage, locked for N9
2g. R8C8 = 4 (hidden single in N9)
2h. 7 in N9 only in R89C9, locked for C9
2i. Naked pair {56} in R89C6, locked for C6, clean-up: no 7 in R1C7
2j. Killer pair 8,9 in 31(7) cage and 18(3) cage, locked for R7
3. 45 rule on N7 3 innies R7C12 + R9C3 = 14 = {158/167/239/257/356} (cannot be {149/248/347} because 4,7,8,9 only in R9C3), no 4
3a. 4 in R9 only in R9C12 = {45}, locked for R9 and N7 -> R89C6 = [56]
3b. Naked triple {123} in R9C578, locked for R9
3c. R7C12 + R9C3 = {167/239}, no 8
3d. R7C12 = {16/23} -> 22(4) cage at R5C1 = [87]{16}/[89]{23} -> R5C1 = 8, R6C1 = {79}
3e. 6 in R6 only in 26(4) cage at R6C5 = {3689/5678}, no 2
3f. 2 in R6 only in R6C234, locked for 11(4) cage at R5C2 -> no 2 in R5C2
4. 45 rule on N3 3 innies R1C7 + R3C89 = 17 = {278/458/467} (cannot be {269} because R1C7 only contains 4,5,8), no 9
4a. 8 of {278} must be in R1C7, 4 of {458/467} must be in R1C7 -> R1C7 = {48}, clean-up: no 7 in R1C6
4b. 7 of {278/467} must be in R3C8 -> no 2,6 in R3C8
4c. Naked pair {48} in R1C67, locked for R1, clean-up: no 5,9 in R2C4
4d. 45 rule on N3 2 outies R45C9 = 1 innie R1C7 + 1, R1C7 = {48} -> R45C9 = 5,9 = {23/36}/[81], no 5,9, no 1 in R4C9
5. 15(3) cage at R1C5 = {159/168/249/258/267/357} (cannot be {348} which clashes with R1C6, cannot be {456} which clashes with R12C4)
5a. 45 rule on N2 4 innies R1C6 + R3C456 = 17 = {1268/1349/1358/1457/2348/2456} (cannot be {1259/1367/2357} because R1C6 only contains 4,8)
5b. Hidden killer triple 1,2,3 in 15(3) cage and R3C456 for N2, 15(3) cage contains one of 1,2,3 -> R3C456 must contain two of 1,2,3 -> R1C6 + R3C456 must contain two of 1,2,3 -> R1C6 + R3C456 = {1268/1349/1358/2348} (cannot be {1457/2456} which only contain one of 1,2,3), no 7
5c. R3C456 “see” all cells in R1 containing 2,5,6,7,9 except for R1C1 -> R3C456 cannot contain more than one of 2,5,6,7,9 -> R1C6 + R3C456 = {1349/1358/2348} (cannot be {1268} which contains both of 2,6), no 6, 3 locked for R3, N2 and 31(7) cage at R1C2
5d. R3C456 contains one of {259} -> R1C1 must contain one of 2,5,9, no 6,7 in R1C1
5e. 35(7) cage contains 3 so must also contain 7 in R1C23 + R2C3, locked for N1
5f. 15(3) cage at R1C5 = {159/249/258/267} (cannot be {168} which clashes with R1C6 + R3C456)
6. 45 rule on R456 4(2+2) remaining innies R46C1 + R45C9 = 21, R45C9 = 5,9 (step 4d) -> R46C1 = 12,16 = [39/57/79/97] -> R4C1 = {357}
7. 45 rule on R5 3 remaining innies R5C289 = 14 = {239/257/356} (cannot be {167} because R5C2 only contains 3,5), no 1, clean-up: no 8 in R4C9 (step 4d)
7a. 7,9 of {239/257} must be in R5C8 -> no 2 in R5C8
7b. R45C9 (step 4d) = {23/36}, 3 locked for C9 and N6 -> R1C89 = [31]
8. 45 rule on R4 2 innies R4C19 = 1 outie R5C8 + 3, R4C9 cannot equal R5C8 (IOU) -> no 3 in R4C1
8a. R4C19 cannot total 12 -> no 9 in R5C8
8b. R5C289 (step 7) = {257/356}, 5 locked for R5
8c. R46C1 (step 6) = [57/79/97], 7 locked for C1 and N4
9. 15(3) cage at R3C1 = {159/258/456} (cannot be {168/249} because 1,2,4,6,8,9 only in R3C12, cannot be {267} = {26}7 which clashes with 35(7) cage at R1C2), no 7
[I ought to have spotted this step sooner; it would also have eliminated 3 from R4C1. Incorrect second comment deleted.]
9a. R4C1 = 5, R5C2 = 3, R9C12 = [45]
9b. Naked pair {12} in R6C12, locked for R6 and N4 -> R6C4 = 5, clean-up: no 8 in R2C4
9c. R4C9 = 3 (hidden single in C9), R5C8 = 5 (hidden single in R5), R6C1 = 7 (hidden single in C1), clean-up: no 9 in R7C9 (step 2)
9d. R5C289 (step 8b) = {356} -> R5C9 = 6, clean-up: no 8 in R7C8 (step 2)
9e. Naked pair {89} in R6C78, locked for R6 and N6 -> R6C56 = [63]
9f. 6 in N2 only in R12C6 = {67}, locked for C6 and N2
9g. R45C9 = [36] = 9 -> R3C89 = 9 = [72]
9h. R45C9 = 9 -> R1C7 = 8 (step 4d), R1C6 = 4
9i. R1C6 + R3C456 (step 5c) = {1349} (only remaining combination), 1,9 locked for R3, N2 and 35(7) cage at R1C2
9j. R34C1 = [65] -> R3C2 = 4 (cage sum), R3C7 = 5, R3C3 = 8, R2C789 = [469]
9k. R56C1 = [87] = 15 -> R7C12 = 7 = [16]
9l. R7C12 = 7 -> R9C3 = 7 (step 3)
9m. Naked pair {25} in R12C3, locked for C3 and N1 -> R78C3 = [39], R7C7 = 2, R9C8 = 1
9n. R45C8 = [25] = 7 -> R4C67 = 15 = [87]