Minor errors corrected
Prelims
a) R2C4 + R3C3 = {19/28/37/46}, no 5
b) R2C6 + R3C7 = {79}
c) R4C4 + R5C3 = {15/24}
d) R4C6 + R5C7 = {19/28/37/46}, no 5
e) R6C23 = {29/38/47/56}, no 1
f) R6C78 = {29/38/47/56}, no 1
g) R8C12 = {15/24}
h) R89C5 = {29/38/47/56}, no 1
i) R89C8 = {17/26/35}, no 4,8,9
j) R89C9 = {29/38/47/56}, no 1
k) R9C12 = {19/28/37/46}, no 5
l) 10(3) cage at R2C7 = {127/136/145/235}, no 8,9
m) 20(3) cage at R4C7 = {389/479/569/578}, no 1,2
n) 9(3) cage at R6C1 = {126/135/234}, no 7,8,9
o) 22(3) cage at R6C6 = {589/679}
p) 44(8) cage at R1C1 = {23456789}, no 1
q) 38(8) cage at R1C6 = {12345689}, no 7
r) 41(8) cage at R4C5 = {12356789}, no 4
Steps resulting from Prelims
1a. Naked pair {79} in R2C6 + R3C7, CPE no 7,9 in R2C789 + R3C456
1b. Caged X-Wing for 9 in R2C6 + R3C7 and 22(3) cage at R6C6, no other 9 in C67, clean-up: no 1 in R4C6 + R5C7, no 2 in R6C8
1c. 7 in N3 only in R3C78, locked for R3, clean-up: no 3 in R2C4
1d. 1 in N6 only in R456C9, locked for C9
1e. 1 in C1 only in R6789C1, CPE no 1 in R7C2
2. 45 rule on R89 2 innies R8C46 = 14 = {59/68}
2a. R89C5 = {29/38/47} (cannot be {56} which clashes with R8C46), no 5,6
3. 45 rule on C1234 3 innies R357C4 = 19 = {289/379/469/478/568}, no 1
4. 45 rule on C6789 3 innies R357C6 = 10 = {127/136/145/235}, no 8
5. 45 rule on N7 1 innie R7C3 = 2(1+1) outies R6C1 + R9C4 + 2
5a. Min R6C1 + R9C4 = 2 -> min R7C3 = 4
5b. Max R6C1 + R9C4 = 7, no 7,8,9 in R9C4
5c. Min R7C3 + R8C4 = 9 -> max R6C4 = 8
6. 45 rule on N9 1 innie R7C7 = 2(1+1) outies R6C9 + R9C6 + 2
6a. Max R6C9 + R9C6 = 7, no 7,8,9 in R6C9 + R9C4
6b. 7 in C9 only in R789C9, locked for N9, clean-up: no 1 in R89C8
6c. R89C9 = {29/38/47} (cannot be {56} which clashes with R89C8), no 5,6
7. 45 rule on N7 3 innies R789C3 = 1 outie R6C1 + 20
7a. Max R789C3 = 24 -> max R6C1 = 4
7b. Min R789C3 = 21, no 1,2,3
8. 45 rule on N6 4 innies R456C9 + R5C7 = 14 contains 1 = {1238/1247/1256/1346}, no 9
8a. 9 in N6 only in R456C8, locked for C8
8b. 38(8) cage at R1C6 = {12345689}, 9 locked for C9 and N3 -> R3C7 = 7, R2C6 = 9, clean-up: no 1 in R3C3, no 3 in R4C6, no 4 in R6C8, no 5 in R8C4 (step 2), no 2 in R89C9
8c. 22(3) cage at R6C6 = {589/679} -> R7C7 = 9, R68C6 = [58/76/85], no 6 in R6C6
8d. Min R7C3 + R8C4 = 10 -> max R6C4 = 7
8e. 20(3) cage at R4C7 = {389/479/569/578}
8f. 4 of {479} must be in R4C7 -> no 4 in R45C8
9. 1 in N1 only in 14(3) cage = {149/158/167}, no 2,3
9a. 9 of {149} must be in R3C2 -> no 4 in R3C2
10. 45 rule on N3 3 outies R1C6 + R45C9 = 10, no 8 in R1C6 + R45C9
11. R7C3 = R6C1 + R9C4 + 2 (step 5)
11a. Max R7C3 = 8 -> max R9C4 = 5
12. R357C4 (step 3) = {289/379/469/478/568}
12a. 9 of {289/379} must be in R5C4, 3 of {379} must be in R3C5 -> no 2,3 in R5C4, no 3 in R7C4
[There’s more complicated analysis of R357C4, but I didn’t find it until later.]
13. 7 in N8 only in R7C456 + R89C5, CPE no 7 in R456C5
13a. 7 in C6 only in R4567C6, CPE no 7 in R5C4
14. 45 rule on C789 3 remaining outies R149C6 = 13 = {148/238/247/346} (cannot be {157/256} which clash with R68C6), no 5
14a. 8 of {238} must be in R4C6 -> no 2 in R4C6, clean-up: no 8 in R5C7
14b. 2 in N5 only in R4C45 + R5C56 + R6C45, CPE no 2 in R7C4
15. R456C9 + R5C7 (step 8) = {1256/1346}, 6 locked for N6, clean-up: no 5 in R6C78
15a. R7C7 = R6C9 + R9C6 + 2 (step 6), R7C7 = 9 -> R6C9 + R9C6 = 7 = {16/34}/[52], no 2 in R6C9
16. R456C9 + R5C7 (step 15) = {1256/1346}, R1C6 + R45C9 = 10 (step 10) = {136/145/235}
16a. 4 of {145} must be in R1C6 (R45C9 cannot contain both of 4,5), no 4 in R45C9
16b. 3 of {235} must be in R1C6 (R45C9 cannot contain both of 2,3 or both of 3,5), no 2 in R1C6
17. 45 rule on N8 5 remaining innies R7C456 + R9C46 = 20 contains 1 = {12368/12467/13457} (cannot be {12458} which clashes with R8C46)
17a. 17(3) cage at R6C4 = {179/269/359/368/458/467} (cannot be {278} which clashes with R7C456 + R9C46)
17b. 2,3 of {269/368} must be in R6C4, 6 of {467} must be in R8C4 -> no 6 in R6C4
17c. 6 in N5 only in R4C56 + R5C456 + R6C5, CPE no 6 in R7C6
18. R89C8 = {26/35}, R89C9 = {38/47} -> combined cage R89C89 = {26}{38}/{26}{47}/{35}{47}
18a. 12(3) cage at R8C7 = {138/156/246/345}
18b. R89C7 cannot be {46}, which clashes with R89C89 -> no 2 in R9C6, clean-up: no 5 in R6C9 (step 15a)
[Can eliminate 4 from R7C9 but I’ll leave that for now.]
19. R8C46 (step 2) = [68/86/95], R7C456 + R9C46 (step 17) = {12368/12467/13457}
19a. R357C4 (step 3) = {379/478/568} (cannot be {289} because [298] which clashes with R8C46 = [68], cannot be {469} = [496] which clashes with R8C46 = [86]), no 2
19b. 5 of {568} must be in R35C4 (cannot be {68}5 which clashes with R8C46 = [95]), no 5 in R7C4
20. 1 in R6 only in R6C1459
20a. 45 rule on R6 5 innies R6C14569 = 23 = {12389/12479/12569/13478/13568/14567} (cannot be {12578/13469} which clash with the 11(2) cages in R6)
20b. 9 of {12389/12479/12569} must be in R6C5 -> no 2 in R6C5
21. 17(3) cage at R6C4 (step 17a) = {179/269/359/368/458} (cannot be {467} = {47}6 which clashes with R7C4 + R8C46 = [768])
21a. 1 of {179} must be in R6C4 -> no 7 in R6C4
21b. 7 in N5 only in R456C7, locked for C7
22. R149C6 (step 14) = {148/346}, no 7, 4 locked for C6, clean-up: no 3 in R5C7
23. R456C9 + R5C7 (step 15) = {1256/1346}
23a. 4 of {1346} must be in R5C7 (R456C9 cannot be {134} which clashes with R89C9) -> no 4 in R6C9, clean-up: no 3 in R9C6 (step 15a)
23b. R149C6 (step 22) = {148/346}
23c. 3 of {346} must be in R1C6 -> no 6 in R1C6
24. 45 rule on N2 3 remaining innies R1C46 + R2C4 = 14 = {158/248/347/356} (cannot be {167} which clashes with R357C4, cannot be {257} because no 2,5,7 in R1C6)
24a. 1 of {158} must be in R1C6 -> no 1 in R2C4, clean-up: no 9 in R3C3
24b. 5 of {356} must be in R1C4 -> no 6 in R1C4
25. R89C89 (step 18) = {26}{38}/{26}{47}/{35}{47}
25a. 12(3) cage at R8C7 = {138/156/246/345}
25b. 4 of {246} must be in R9C6 (R89C7 cannot be {24} which clashes with R89C89), 4 of {345} must be in R9C6 -> no 4 in R89C7
25c. 12(3) cage at R6C9 = {138/147/156/345} (cannot be {237/246} which clash with R89C89), no 2
25d. 6 of {156} must be in R6C9 (cannot be 1{56} which clashes with R89C89) -> no 6 in R7C89
25e. Hidden killer pair 4,7 in 12(3) cage at R6C9 and R89C9 for N9, R89C9 contains both or neither of 4,7 -> 12(3) cage at R6C9 must contain both or neither of 4,7 = {138/147/156} (cannot be {345} which only contains one of 4,7)
25f. 7 of {147} must be in R7C9 -> no 4 in R7C9
25g. 1 of {156} must be in R7C8 -> no 5 in R7C8
26. 2 in C6 only in R357C6 (step 4) = {127/235}, no 6
26a. 7 of {127} must be in R5C6 -> no 1 in R5C6
27. 6 in C6 only in R489C6 + 6 in 41(8) cage at R4C5, locked for N58, clean-up: no 8 in R8C6 (step 2), no 5 in R6C6 (step 8c)
28. R68C6 (step 8c) = [76/85], R8C46 (step 2) = [86/95] -> R6C6 + R8C4 = [78/89], CPE no 8 in R5C4
[Alternatively R68C6 = 13 (step 8c), R8C46 = 14 (step 2) -> R8C4 = R6C6 + 1 …]
28a. 8 in 41(8) cage at R4C5 only in R456C5 + R7C45, CPE no 8 in R89C5, clean-up: no 3 in R89C5
29. 3 in N8 only in R7C56 + R9C4 -> R7C456 + R9C46 (step 17) = {12368/13457}
29a. 7 of {13457} must be in R7C4 -> no 7 in R7C5
30. 8 in C6 only in R46C6, locked for N5
30a. 8 in 41(8) cage at R4C5 only in R7C45, locked for R7 and N8 -> R8C4 = 9, R8C6 = 5 (step 2), R6C6 = 8 (step 8c), clean-up: no 2 in R5C7, no 3 in R6C23, no 3 in R6C78, no 1 in R8C12, no 2 in R89C5, no 3 in R9C8
[I thought about using Naked pair {46} in R4C6 + R5C7, CPE no 4,6 in R4C79 + R5C45 but the naked pairs in the next two steps are just as powerful and technically simpler.]
31. Naked pair {24} in R8C12, locked for R8 and N7 -> R89C5 = [74], clean-up: no 6,8 in R9C12, no 6 in R9C8, no 7 in R9C9
32. Naked pair {38} in R89C9, locked for C9 and N9 -> R8C8 = 6, R9C8 = 2, R89C7 = [15], R9C6 = 6, R7C89 = [47], R4C6 = 4, R5C7 = 6, R5C4 = 5, R6C9 = 1, R45C9 = [52], R6C7 = 4, R6C8 = 7, R7C4 = 8
[Routine clean-ups omitted from here.]
33. 10(3) cage at R2C7 = {235} (only remaining combination) -> R2C7 = 2, R23C8 = {35}, locked for N3 -> R1C78 = [81], R1C6 = 3
34. R789C3 = R6C1 + 20 (step 7)
34a. R6C1 = {23} -> R789C3 = 22,23 = {589/689} (cannot be {679} because 7,9 only in R9C3) -> R8C3 = 8, R9C3 = 9, R9C4 = 1 (cage sum), R7C56 = [32], R4C4 = 2, R5C3 = 4, R6C4 = 3, R7C3 = 5 (cage sum), R6C1 = 2, R6C3 = 6, R6C5 = 9, R6C2 = 5
35. R2C4 + R3C3 = [73] (only remaining permutation)
36. R2C3 = 1, R23C2 = 13 = [49]
37. R5C5 = 1, R4C3 = 7, R45C2 = 9 = [18]
and the rest is naked singles.
What a lot of CPEs! The 41(8) cage at R4C5 was clearly a key feature of the cage pattern.