Prelims
a) R23C4 = {13}
b) R45C5 = {12}
c) R56C7 = {16/25/34}, no 7,8,9
d) R56C8 = {16/25/34}, no 7,8,9
e) R78C8 = {69/78}
f) R89C9 = {16/25/34}, no 7,8,9
g) R9C23 = {13}
h) R9C56 = {49/58/67}, no 1,2,3
1a. Naked pair {13} in R12C4, locked for C4 and N2
1b. Naked pair {12} in R45C5, locked for C5 and N5
1c. Naked pair {13} in R9C23, locked for R9 and N7, clean-up: no 4,6 in R8C9
2a. 45 rule on whole grid 2 innies R1C9 + R2C7 = 9 = {18/27/36/45}, no 9
2b. 45 rule on C123 3 outies R456C4 = 18 = {459/468/567}
2c. 45 rule on R56789 4 outies R4C1459 = 12 = {1236/1245}, no 7,8,9, 1,2 locked for R4
2d. 6 of {1236} must be in R4C4 -> no 6 in R4C19
2e. 45 rule on N1 2 outies R4C23 = 15 = {69/78}
2f. 45 rule on N1456789 3 innies R4C678 = 18 = {369/378/459} (cannot be {468/567} which clash with R4C23)
3a. 1 in N8 only in R78C6
3b. 45 rule on N8 4 innies R7C456 + R8C6 = 14 = {1238/1247/1256/1346}, no 9
3c. 45 rule on N8 1 outie R6C5 = 2 innies R78C6 + 2
3d. Min R78C6 = 3 -> min R6C5 = 5
3e. Max R6C5 = 9 -> max R78C6 = 7, no 7,8 in R78C6
3f. 3 in N5 only in R456C6, locked for C6
3g. R78C6 cannot total 4 -> no 6 in R6C5
3h. 18(3) cage at R8C4 = {279/378/459/567} (cannot be {369} which clashes with R456C4, cannot be {468} which clashes with R9C56)
3i. R7C456 + R8C6 = {1238/1256/1346} (cannot be {1247} which clashes with 18(3) cage), no 7
3j. R7C456 + R8C6 = {1256/1346} (cannot be {1238} = [83]{12} because 16(3) cage at R6C5 = [583] clashes with R456C4), no 8, 6 locked for N8, clean-up: no 7 in R9C56
3k. Hidden killer pair 2,3 in R7C456 + R8C6 and 18(3) cage for N8, R7C456 contains one of 2,3 -> 18(3) cage must contain one of 2,3 = {279/378}, no 4,5
3l. 3 of {378} must be in R8C5 -> no 8 in R8C5
3m. 16(3) cage at R6C5 = {259/268/349/367} (cannot be {358} = [853] which clashes with R7C456 + R8C6, cannot be {457} = 7{45} which clashes with R7C456 + R8C6)
3n. 7,8,9 only in R6C5 -> R6C5 = {789}
3o. 2 of {259} must be in R7C4 -> no 5 in R7C4
3p. 3 of {349} must be in R7C5 -> no 4 in R7C5
3q. R6C5 = {789} -> R78C6 = 5,6,7 = {14/15/16}, no 2 in R78C6
3r. 2 in N8 only in R789C4, locked for C4
4a. 45 rule on C1234 2 innies R17C4 = 1 outie R8C5 + 5
4b. R8C5 = {379} -> R17C4 = 8,12,14 = [62/84/86] -> R1C4 = {68}
4c. R456C4 (step 2b) = {459/567} (cannot be {468} which clashes with R1C4), no 8, 5 locked for N5
5a. 15(4) cage at R8C6 = {1248/1257/1347/1356/2346} (cannot be {1239} = [13]{29} which clashes with R89C9), no 9
5b. 15(4) cage = {1257/1347/1356/2346} (cannot be {1248} because 1{248} clashes with R89C9 and [41]{28} clashes with R9C56), no 8
5c. 15(4) cage = {1257/1347/2346} (cannot be {1356} = [13]{56} which clashes with R89C9)
5d. 45 rule on N9 2 innies R7C79 = 1 outie R8C6 + 8
5e. Hidden killer pair 8,9 in R7C79 and R78C8 for N9, R78C8 contains one of 8,9 -> R7C79 must contains one of 8,9
5f. R8C6 = {1456} -> R7C79 = 9,12,13,14 = {18/39/48/49/58/59} (cannot be {68} which clashes with R89C8), no 2,6,7
5g. Consider combinations for 15(4) cage
15(4) cage = {1257} => R8C9 = 3 (CPE)
or 15(4) cage = {1347/2346} => R8C7 = 3
-> 3 in R8C79, locked for R8 and N9
5h. 18(3) cage at R8C4 = {279} (only remaining combination), 2,9 locked for N8, clean-up: no 4 in R9C56
5i. Naked pair {58} in R9C56, locked for R9, 5 locked for N8, clean-up: no 2 in R8C9
5j. R7C5 = 3 (hidden single in N8) -> R6C5 + R7C4 = 13 = [76/94], no 8 in R6C5
5k. R1C4 = 8 (hidden single in C4), clean-up: no 1 in R2C7 (step 2a)
5l. Killer pair 7,9 in R456C4 and R6C5, locked for N5
5m. 15(4) cage = {1257/1347/2346} = [15]{27}/[13]{47}/[63]{24} (cannot be [43]{26} which clashes with R89C9) -> R8C6 = {16}, R8C7 = {35}
5n. 4 in N8 only in R7C46, locked for R7
5o. 4 in N9 only in R9C789, locked for R9
5p. R9C5 = 8 (hidden single in C5) -> R9C6 = 5
5q. Naked pair {79} in R68C5, locked for C5
5r. Naked triple {456} in R123C5, 4,6 locked for N2
5s. R4C678 (step 2f) = {369/378/459}
5t. 4 of {459} must be in R4C6 -> no 4 in R4C78
5u. 2 in N9 only in R9C789, locked for R9
5v. R8C4 = 2 (hidden single in N8)
6a. R456C4 (step 4c) = {459/567}
6b. Consider combinations for 15(4) cage at R8C6 (step 5m) = [15]{27}/[13]{47}/[63]{24}
15(4) cage = [15]{27}/[13]{47}, 7 locked for R9 => R9C4 = 9
or 15(4) cage = [63]{24} => R7C4 = 4
-> R456C4 = {567}, 6,7 locked for C4 and N5, R68C5 = [97], R79C4 = [49], clean-up: no 8 in R7C8
6c. 19(4) cage at R5C6 = {1468} (only possible combination, cannot be {1369/1459} because 1,5,6,9 only in R7C67) -> R56C6 = {48}, R7C67 = [61], R4C6 = 3 (hidden single in N5), R8C6 = 1, clean-up: no 6 in R56C7, no 6 in R9C9
6d. 15(4) cage = [15]{27}/[13]{47}, 7 locked for R9 and N9 -> R7C8 = 9, R8C8 = 6, R7C9 = 8 (hidden single in N9), R9C1 = 6, clean-up: no 1 in R56C8
6e. Naked pair {35} in R8C79, 5 locked for R8
6f. Naked quad {2345} in R56C78, locked for N6 -> R4C9 = 1, R45C5 = [21], clean-up: no 8 in R2C7 (step 2a)
6g. R4C678 (step 2f) = 18, R4C6 = 3 -> R4C78 = 15 = {78}, locked for R4 and 35(7) cage at R3C5, 7 locked for N6 -> R56C9 = [96] , clean-up: no 3 in R2C7 (step 2a)
6h. Naked pair {69} in R4C23, locked for N4 and 36(6) cage at R1C3, 6 locked for R4 -> R4C14 = [45]
6i. 36(6) cage at R1C3 = {156789/246789}, no 3, 7,8 locked for N1
7a. 7 in C9 only in R12C9, locked for N3, clean-up: no 2 in R1C9 (step 2a)
7b. R3C3 = 7 (hidden single in R3C3)
7c. 8 in N1 only in R2C23, locked for R2, clean-up: no 1 in R1C9 (step 2a)
7d. R3C7 = 8 (hidden single in R3) -> R4C78 = [78]
7e. R9C8 = 7 (hidden single in R9)
7f. R1C7 = 9 (hidden single in C7)
7g. R2C7 = 6 (hidden single in C7) -> R1C9 = 3 (step 2a), R8C9 = 5 -> R9C9 = 2, R23C9 = [74]
7h. R1C6 = 7 (hidden single in N2)
7i. R1C467 = [879] = 24 -> R1C58 = 5 = [41], R2C568 = [592], R3C568 = [625]
8a. R1C2 = 6 (hidden single in N1), R4C23 = [96], R3C1 = 9 (hidden single in N1)
8b. R89C1 = [86] = 14 -> R67C1 = 5 = [32], R7C3 = 5
8c. R7C2 + R8C23 = [749] = 20 -> R6C2 = 5
and the rest is naked singles.