Like everyone else I found A90 a really tough Assassin.
Nasenbaer wrote:This assassin was a real beast. I used a lot of chains, almost gave up.
SudokuSolver rates it as 1.61 which is much too low in my opinion. The rating of hard 1.75 from Afmob seems ok with me.
Afmob also used chains. My solution used fairly heavy combination and permutation analysis. I only finished A74 Brick Wall fairly recently (I'll post a message and possibly a walkthrough once I've looked at Afmob's and Para's walkthroughs for it) so it seemed natural to use the same sort of techniques although not to anywhere near the same extent. For that reason I agree with Afmob's rating of Hard 1.75.
Maybe the reason that SudokuSolver gives a lower rating is that it's Richard's solver and he's very good at combination and permutation analysis.
Here is my walkthrough for A90
Prelims
a) R5C12 = {49/58/67}, no 1,2,3
b) R5C89 = {18/27/36/45}, no 9
c) 6(3) cage in N1 = {123}, locked for N1
d) 19(3) cage at R1C3 = {289/379/469/478/568}, no 1
e) R234C6 = {689}, locked for C6
f) 9(3) cage at R3C7 = {126/135/234},no 7,8,9
g) R678C4 = {589/679}, 9 locked for C4
h) R678C6 = {125/134}, 1 locked for C6
i) 19(3) cage at R6C8 = {289/379/469/478/568}, no 1
j) R789C5 = {289/379/469/478/568}, no 1
k) 6(3) cage at R8C3 = {123}, CPE no 1,2,3 in R9C12
1. Min R23C1 = 9 -> max R4C1 = 7
1a. Min R3C23 = 9 -> max R4C2 = 6
1b. Min R9C12 = 9 -> max R8C2 = 6
2. 45 rule on C1 3 innies R159C1 = 12 = {147/156/246/345} (cannot be {129/138/237} because 1,2,3 only in R1C1), no 8,9, clean-up: no 4,5 in R5C2
3. R234C1 = {169/178/259/268/349/358} (cannot be {367/457} which clash with R159C1)
3a. 1,2,3 must be in R4C1 -> R4C1 = {123}
4. R678C1 = {179/269/278/359/368} (cannot be {458/467} which clash with R159C1), no 4
5. 45 rule on C4 3 innies R159C4 = 9 = {126/135/234},no 7,8
6. 45 rule on C12 2 outies R37C3 = 9 = {45}/[63/72/81], no 9, no 6,7,8 in R7C3
7. 45 rule on C89 2 outies R37C7 = 10 = [19/28/37]/{46}, no 5, no 2,3 in R7C7
8. 45 rule on N7 3 outies R6C12 + R9C4 = 10 -> max R6C12 = 9, no 9
9. 45 rule on N7 2 innies R7C23 = 2 outies R6C1 + R9C4 + 7
9a. Max R7C23 = 14 -> max R6C1 + R9C4 = 7, no 7,8 in R6C1
9b. Min R6C1 + R9C4 = 2 -> min R7C23 = 9, max R7C3 = 5 -> min R7C2 = 4
10. R678C1 (step 4) = {179/269/278/359/368}
10a. 1 of {179} must be in R6C1 -> no 1 in R78C1
11. 17(3) cage at R6C2 = {179/269/278/359/368/458/467}
11a. 1,2 of {179/269/278} must be in R7C3 -> no 1,2 in R6C2
12. 45 rule on N9 3 outies R6C89 + R9C6 = 19, max R9C6 = 7 -> min R6C89 = 12, no 1,2
13. R789C5 = {289/379/469/478/568}
13a. Hidden killer pair 8,9 in R78C4 and R789C5 -> R78C4 cannot have both of 8,9 -> no 5 in R6C4
14. 45 rule on N1 3 outies R1C4 + R4C12 = 11, max R1C4 = 6 -> min R4C12 = 5, max R4C1 = 3 -> no 1 in R4C2
15. 45 rule on N3 2 outies R1C6 + R4C9 = 2 innies R3C78 + 7
15a. Min R3C78 = 3 -> min R1C6 + R4C9 = 10, max R1C6 = 7 -> min R4C9 = 3
16. 45 rule on C12 4 innies R3467C2 = 23 = {2489/2579/2678/3479/3578/4568} (cannot be {3569} because killer triple 1,2,3 in R12C2 and R46C2 => R8C2 = 4, R9C2 = {78} which leaves no combinations for 15(3) cage at R8C2)
16a. If R3467C2 = {2489/2579/2678/3479/3578} => killer triple 1,2,3 in R12C2 and R46C2, locked for C2 => 15(3) cage can only be {456} => max R7C3 = 3 => min R67C2 = 14
-> no 3 in R6C2, clean-up: no 6 in R6C1 (step 8)
16b. For these combinations of R3467C2, R7C12 + R8C1 = {789}, R78C1 cannot be {89} => R7C2 cannot be 4,5,6,7
-> no 7 in R7C2
16c. 4 of {2489/3479} must be in R3C2 (cannot make valid combinations for 17(3) with 4 in R6C2; step 16a has already eliminated 4,5 from R7C23 for these combinations)
16d. Cannot be {2489} because no valid combination for 17(3) with R67C2 = [89]
16d. If R3467C2 = {4568} => 15(3) cage = [159/249/267/357]
16e. Combining steps 16a and 16d -> no 7 in R9C1, no 8 in R9C2
16f. 8 of {2678} must be in R67C2 (R67C2 cannot be {67} because max R7C3 = 3, step 16a), 8 of {4568} must be in R67C2 (15(3) cage at R3C2 can only be {456} for {4568} in R3467C2) -> no 8 in R3C2
16g. R3467C2 = {2579/2678/3479/3578/4568}
16h. If R3467C2 = {2579/2678/3479/3578} => R7C12 + R8C1 = {789} (step 16b), if R3467C2 = {4568} => R8C2 = {123} => killer triple 1,2,3 in R8C2 + R89C3 for N7 -> no 2,3 in R78C1
16i. 9 of {2579} cannot be in R3C2 because 17(3) cage at R6C2 cannot be [755], 4 of {3479} must be in R3C2 (step 16c) -> no 9 in R3C2
17. Hidden triple {123} in R146C1 -> R6C1 = {123}
18. R159C1 (step 2) = {147/156/246/345}
18a. R1C1 = 1 => R12C2 = {23} => R8C2 = 1 => R9C12 = [59] (step 16d)
-> no {147} in R159C1
18b. R159C1 = {156/246/345}, no 7, clean-up: no 6 in R5C2
18c. R234C1 (step 3) = {169/178/268/349/358} (cannot be {259} which clashes with R159C1
18d. R678C1 (step 4) = {179/269/278/359} (cannot be {368} which clashes with R159C1)
19. R3467C2 (step 16g) = {2678/3479/3578/4568} (cannot be {2579} which clashes with R678C1)
19a. If R3467C2 = {2678/3479/3578} => no 4,5,6 in R7C2 (step 16b)
19b. {4568} must have {458} in 17(3) cage at R6C2 because 1,2,3 of N7 locked in R8C2 (step 16d) and R89C3)
19c. -> no 6 in R7C2
20. R3467C2 (step 16g) = {2678/3479/3578/4568}
20a. If {2678} => R5C12 = [49]
20aa. If [6278] => R3C3 = 7, R456C3 = {568} => R12C3 = {49} -> no valid combination for 19(3) cage at R1C3
20ab. If [7268] => R456C3 = {578} -> no valid combination for 20(4) cage at R4C3
20b. If {3479} => R5C12 = [58], R3467C2 = [4379], R3C3 = 8, R456C3 = {469}, R12C3 = {57} -> no valid combination for 19(3) cage at R1C3
20c. If {3578} => R5C12 = [49]
20ca. If [5378] => R3C3 = 7, R456C3 = {568} => R12C3 = {49} -> no valid combination for 19(3) cage at R1C3
20cb. If [7358] => R456C3 = {678} -> no valid combination for 20(4) cage at R4C3
20cc. If [7385] => R3C3 = 5, R456C3 = {567} clashes with R3C3
20d. -> R3467C2 = {4568}, locked for C2, clean-up: no 5 in R5C1
21. Naked triple {123} in R8C23 + R9C3, locked for N7, clean-up: no 6,7,8 in R3C3 (step 6)
21a. Naked pair {45} in R37C3, locked for C3
22. 15(3) cage at R3C2 = {456}, 6 locked in R34C2, locked for C2
23. 19(3) cage at R1C3 = {289/379/469/478/568}
23a. 2,3,4,5 must be in R1C4 -> R1C4 = {2345}
24. R234C1 (step 18c) = {169/178/268/349/358}
24a. If {169} => R12C3 = {78}, R3C23 = {45}, R4C2 = 6 -> cannot place 6 in C3 -> R234C1 cannot be {169}
24b. If {178} => R12C3 = {69}, R1C4 = 4
24c. If {268} => R12C3 = {79}, R1C4 = 3
24d. If {349} => R3C23 = [65], R12C3 = {78}, R1C4 = 4
24e. If {358} => R3C23 = [64], R12C3 = {79}, R1C4 = 3
24f. -> R1C4 = {34}, R234C1 = {178/268/349/358}, R12C3 = {69/78/79}
25. R159C4 (step 5) = {135/234} (cannot be {126} because R1C4 only contains 3,4), no 6, 3 locked for C4
25a. 5 of {135} must be in R5C4 -> no 1 in R5C4
26. Hidden killer pairs 6,7 and 8,9 in R12C3 and R456C3 -> R456C3 must contain one of 6,7 and one of 8,9
26a. 20(4) cage at R4C3 = {1568/2378/2468} (cannot be {1379} which clashes with R5C2, cannot be {1469/2369} which clash with R5C12, cannot be {1478} because 4 in R5C4 clashes R12C3 = {69} => R1C4 = 4), no 9
27. R5C2 = 9 (hidden single in N4), R5C1 = 4, R9C2 = 7, clean-up: no 5 in R5C89
27a. R8C2 + R9C1 = [26/35] (step 16d), no 1
27b. Max R9C6 = 5 -> min R6C89 = 14 (step 12), no 3,4
28. 4 in N1 locked in R3C23, locked for R3, clean-up: no 6 in R7C7 (step 7)
28a. 4 in N7 locked in R7C23, locked for R7, clean-up: no 6 in R3C7 (step 7)
29. 20(4) cage at R4C3 (step 26a) = {1568/2378}, 8 locked in R456C3, locked for C3 and N4 -> R6C2 = 5, R7C23 = [84], R4C2 = 6, R3C23 = [45], clean-up: no 2 in R3C7 (step 7)
29a. Min R6C89 = 15 -> max R9C6 = 4 (step 12)
30. 20(4) cage at R4C3 (step 29) = {2378}, no 1,5, 7 locked in R456C3, locked for C3
31. Naked pair {69} in R12C3, locked for N1, R1C4 = 4 (step 23), R59C4 = {23} (step 5)
31a. Naked pair {23} in R59C4, locked for C4
32. R23C1 = {78} -> R4C1 = 1 (step 18c)
33. 1 in C4 locked in R23C4, locked for N2
33a. 1 in N8 locked in R78C6, locked for C6
33b. 6 in C6 locked in R23C6, locked for N2
34. R234C4 = {158} (only remaining combination), no 7, locked for C4
35. R123C5 = {237} (only remaining combination), locked for C5 and N2 -> R1C6 = 5, clean-up: no 2 in R678C6 (Prelim h)
35a. R12C7 = 12 = {39}/[84], no 1,2,6,7, no 8 in R2C7
36. Naked triple {134} in R678C6, locked for C6 -> R9C6 = 2, R9C4 = 3, R89C3 = [21], R8C2 = 3, R5C4 = 2, R5C6 = 7
36a. R89C7 = 15 = {69}/[78], no 1,4,5, no 8 in R8C7
36b. 2 in C7 locked in R46C7, locked for N6
36c. R5C6 = 7 -> R456C7 = 8 = {125}, locked for C7 and N6 -> R3C7 = 3, R4C8 = 4, R3C8 = 2 (cage sum), R3C5 = 7, R23C1 = [78], R234C4 = [815], R456C7 = [251], clean-up: no 8 in R5C89, no 9 in R12C7 (step 35a)
36d. R12C7 = [84], clean-up: no 7 in R8C7 (step 36a)
37. Naked pair {36} in R5C89, locked for R5 and N6 -> R5C3 = 8, R5C5 = 1
37a. Naked pair {37} in R46C3, locked for N4 -> R6C1 = 2, R1C1 = 3, R12C5 = [23], R12C2 = [12]
38. Naked pair {89} in R4C56, locked for R4 and N5 -> R4C9 = 7, R46C3 = [37], R6C456 = [643], R78C6 = [14]
38a. R23C9 = 10 = [19] -> R1C9 = 6, R12C8 = [75], R12C3 = [96], R234C6 = [968], R4C5 = 9, R5C89 = [63], R6C89 = [98], R7C78 = [73], R89C8 = [18], R78C9 = [25], R9C9 = 4, R78C4 = [97]
39. R6C1 = 2 -> R78C1 = 15 = [69]
and the rest is naked singles