The nine cells with thick borders (see diagram in my previous post) form a Girandola group, in which numbers cannot be repeated.
Prelims
a) R1C89 = {19/28/37/46}, no 5
b) R2C34 = {18/27/36/45}, no 9
c) R2C89 = {69/78}
d) R3C34 = {18/27/36/45}, no 9
e) R45C6 = {14/23}
f) R45C7 = {49/58/67}, no 1,2,3
g) R5C89 = {19/28/37/46}, no 5
h) R6C67 = {49/58/67}, no 1,2,3
i) R7C34 = {79}
j) R8C34 = {14/23}
k) R8C89 = {29/38/47/56}, no 1
l) R9C89 = {19/28/37/46}, no 5
m) 11(4) cage at R3C7 = {1235}
1. Naked pair {79} in R7C34, locked for R7
2. 45 rule on R6789 1 innie R6C1 = 2, R45C1 = 16 = {79}, locked for C1 and N4
3. 28(5) cage at R2C1 = {14689/34678} (cannot be {13789/15679/23689/24589/24679/25678/34579} because 2,7,9 only in R3C2), no 2,5
3a. 7,9 only in R3C2 -> R3C2 = {79}
4. 23(5) cage at R6C2 = {13568/23468}
4a. 2 of {23468} must be in R7C2 -> no 4 in R7C2
5. 45 rule on R89 3(2+1) innies R8C1 + R89C7 = 19
5a. Max R8C1 = 8 -> min R89C7 = 11, no 1 in R89C7
5b. Max R89C7 = 17 -> no 1 in R8C1
6. 45 rule on R1234 3 innies R4C167 = 17 = {179/269/278/359/467} (cannot be{368/458} because R4C1 only contains 7,9)
6a. 4 of {467} must be in R4C6 -> no 4 in R4C7, clean-up: no 9 in R5C7
6b. 45 rule on R5 3 innies R5C167 = 17 = {179/269/278/359/467} (cannot be{368/458} because R5C1 only contains 7,9)
6c. 4 of {467} must be in R5C6 -> no 4 in R5C7, clean-up: no 9 in R4C7
6d. R4C167 = {179/278/359/467} (cannot be {269} = [926] because R5C167 cannot be [737])
6e. R5C167 = {179/278/359/467} (cannot be {269} = [926] because R4C167 cannot be [737])
6f. R5C89 = {19/28/46} (cannot be {37} which clashes with R5C167)
[I was a bit slow spotting this; I’ve put it here because it simplifies the next steps.]
7. 32(7) cage at R6C4 = {1234589/1234679/1235678}, CPE no 2 in R7C89
8. Double hidden killer quad 6,7,8,9 for C89, the five 2-cell cages in C89 contain six of 6,7,8,9 -> 23(4) cage at R6C8 must contain two of 6,7,8,9 = {1589/3479/3569/3578/4568} (cannot be {1679} which contains three of 6,7,8,9)
[Alternatively, with hindsight, 23(4) cage cannot be {1679} because this would make both R45C7 and R6C67 = {58}, which is impossible because R45C7 “sees” R6C7. I’m glad I saw the double hidden killer quad first; it’s a technically “cleaner” way to do this step, although use of the combined cage as in steps 8a and 8b is technically “clean”.]
8a. Combined cage R45C7 + R6C67 = {58}{49}/{58}{67}/{67}{49}/{67}{58} (R45C7 and R6C67 must have different combinations because R45C7 “sees” R6C7, allowing the use of a combined cage)
8b. 23(4) cage = {1589/3569/3578/4568} (cannot be {3479} which clashes with combined cage R45C7 + R6C67)
8c. 23(4) cage = {1589} can only be {19}{58} (because R6C89 = {59/89} clash with combined cage)
Similarly
23(4) cage = {3569} can only be {39}/{56}
23(4) cage = {3578} can only be {37}/{58}
23(4) cage = {4568} can only be {58}/{46}
-> R6C89 = {19/37/39/58}, no 4,6
and R7C89 = {46/56/58}, no 1,3
8d. R8C89 = {29/38/47} (cannot be {56} which clash with R7C89), no 5,6
[Now to go a bit further with this analysis, looking at the effect of R6C89 on adjacent cages …]
9. Consider combinations for R6C89 (step 8c) = {19/37/39/49/58}
R6C89 = {19} => R6C67 = {58/67}, 4 in N6 only in R5C89 = {46} => R45C7 = {58}, R6C67 = [67], R4C89 = {23}
or R6C89 = {37} => R45C7 = {58}, R6C67 = {49}, 6 in N6 only in R5C89 = {46} => R4C89 = {12}, R6C67 = [49]
or R6C89 = {39} => R6C67 = {58/67}, 4 in N6 only in R5C89 = {46} => R45C7 = {58}, R6C67 = [67], R4C89 = {12}
or R6C89 = {58} => R45C7 = {67}, R5C89 = {19}, R6C67 = [94], R4C89 = {23}
-> R5C89 = {19/46}, no 2,8, R6C67 = [49/67/94], R6C6 = [469], R6C7 = [479]
10. R4C89 = {12/23} (from analysis in step 9), no 5, 2 locked for R4 and 11(4) cage at R3C8, no 2 in R3C89, clean-up: no 3 in R5C6
10a. 11(4) cage at R3C8 = {1235}, 5 locked for R3 and N3, clean-up: no 4 in R3C45
11. R4C167 (step 6d) = {179/359/467}, no 8
11a. R5C167 (step 6e) = {179/278/467}, no 5, 7 locked for R5
[Now to look at the effect of R7C89 on adjacent cages …]
12. Consider the combinations for R7C89 (step 8c) = {46/56/58}
R7C89 = {46} = 10 => 45 rule on N9 3 innies R789C7 = 14 = {158} (only remaining combination, cannot be {239} which clashes with R8C89 = {29/38} when R7C89 = {46}, cannot be {257} which clashes with R45C7) => no 5 in R7C7
or R7C89 = {56} = 11 => 45 rule on N9 3 innies R789C7 = 13 = {139/148/238/247}
or R7C89 = {58} = 13 => 45 rule on N9 3 innies R789C7 = 11 = {137/146/236}
-> no 5 in R7C7
12a. 5 in C7 only in R45C7 = {58} or R789C7 = {158}, no 8 in R123C7 (locking cages)
13. R8C1 + R89C7 = 19 (step 5)
13a. Max R789C7 = 14 (step 12) -> max R89C7 = 13 -> min R8C1 = 6
13b. R8C1 = {68} -> R89C7 = 11,13 -> R789C7 (step 12) = {158/238/247} (only combinations which can have a total of 11 or 13 for R89C7), no 6,9
13c. Killer pair 7,8 in R45C7 and R789C7, locked for C7, clean-up: no 6 in R6C6
14. Naked pair {49} in R6C67, locked for R6
14a. 32(7) cage at R6C4 = {1235678} (only remaining combination), no 4
14b. R789C7 (step 13b) = {158/238}, no 7, 8 locked for C7 and N9, clean-up: no 5 in R4C7, no 3 in R8C89, no 2 in R9C89
[And the rest is straightforward …]
15. Naked pair {67} in R45C7, locked for C7 and N6, clean-up: no 4 in R5C89
15a. Naked pair {19} in R5C89, locked for R5 and N6 -> R45C1 = [97], R45C7 = [76], R4C6 = 1 (step 11), R5C6 = 4, R6C67 = [94]
16. Naked pair {23} in R4C89, locked for R4, N6 and 11(4) cage at R3C8, no 2 in R3C89
16a. Naked pair {15} in R3C89, locked for R3 and N3, clean-up: no 9 in R1C89, no 8 in R3C34
16b. Naked pair {58} in R6C89, locked for R6 and 23(4) cage at R6C8 no 5 in R7C89
16c. Naked pair {46} in R7C89, locked for R7 and N9, clean-up: no 7 in R8C89
16d. Naked pair {29} in R8C89, locked for R8 and N9, clean-up: no 3 in R8C34, no 1 in R9C89
16e. Naked pair {37} in R9C89, locked for R9 and N9
17. Naked pair {58} in R89C7, locked for 32(7) cage at R6C4 -> R7C7 = 1, no 5,8 in R7C56
17a. Naked pair {23} in R7C56, locked for R7, N8 and 32(7) cage at R6C4, no 3 in R6C45
17b. Naked pair {67} in R6C56, locked for R6 and N5
18. R8C1 + R89C7 = 19 (step 5)
18a. R89C7 = {58} = 13 -> R8C1 = 6
19. R8C2 = 3 (hidden single in R8), R6C23 = [13], clean-up: no 6 in R2C4, no 6 in R3C4
19a. Naked pair {14} in R8C34, locked for R8
20. 7 in R8 only in R8C56, locked for N8 -> R7C34 = [79], clean-up: no 2 in R2C4, no 2 in R3C4
21. Naked pair {58} in R4C45, locked for R4, N5 and 37(7) cage at R1C7, no 8 in R3C56
22. Naked pair {46} in R4C23, locked for 28(5) cage at R2C1, no 4 in R23C1
22a. 28(5) cage at R2C1 (step 3) = {14689/34678}, 8 locked for C1 and N1 -> R7C12 = [58], clean-up: no 1 in R2C4
23. 45 rule on N8 1 remaining innie R8C4 = 4, R8C3 = 1, R9C1 = 4, clean-up: no 5 in R2C3, no 8 in R2C4
24. R4C23 = 10 -> R2C1 + R3C12 = 18
24a. 45 rule on N1 2 remaining innies R23C3 = 6 = [42], R2C4 = 5, R3C4 = 7, R3C2 = 9, R23C1 = 9 = [18]
25. R3C567 = [463], clean-up: no 7 in R1C89
25a. Naked pair {29} in R12C7, locked for N3, clean-up: no 8 in R1C89, no 6 in R2C89
25b. Naked pair {46} in R1C89, locked for R1 -> R1C23 = [75], R2C2 = 6
25c. Naked pair {78} in R2C89, locked for R2
25d. Naked pair {23} in R27C6, locked for C6 -> R1C6 = 8
and the rest is naked singles, including use of the Girandola group to get a unique solution.
My solving path only used the Girandola group when I got down to naked singles, with the group being used to obtain a unique solution; otherwise each 2-cell row in C89 could have its remaining candidates either way round. It’s possible that earlier use of the Girandola group might have given a slightly shorter solving path; Sudoku Solver v3.6.1 makes some placements in C89 before it has finished making placements in the rest of the grid.