Overview: Lots of pencilling helps, colouring polarity doesn't help much. Start in the top and left, as that's the best furniture density. Immediately note that r2c7 isn't 3, as the [89]s along the GW block r1c8. The [12] pair thus formed restricts teh column 9 thermo greatly. Also note that the 9 in column 8 can't be outside box 3, as the 8 and 7 forced in box 3 put 6s on two GWs whos necessary 1s would see each other. Therefore the high polarity values in box 6 are a [678] triple => r5c8, having a 6 neighbour, must be 1. => The column 9 thermo starts 3-4-5 (so no 3 in the NE or SE corners) Now r5c1 can't be 4, as the 3 below it on the thermo prevents singing. => r5c1 is 7, and the thermo completes upwards in column 1 => r5c9 is 6, needing a 1 on the GW, and placinf the 7 in r4c8 and the 8s in columns 8 and 9. => 6 and 9 are placed in box 1, the 6 requiring a 1 on the GW => r2c6 is 2, making r1c6 7, and placing the 8 up the thermo => r1c9 is a naked 2, and box 3 completes => r3c3 is a naked 3, r8c6 and r9c3 are naked 9s. Row 8 has a [1234] quad, resolving 7 above 1 in box 9. Box 8's 8 can only be in r9c4 The greatest tension now exists where the row 1 and row 9 thermos overlap values in column 5 - at most one of them can be a 6. However, if 6 is in row 9, its thermo heads downwards -[45]-3-2, and the row 9 heads down -4-3-1, removing all possibilities for the 3 in the corner. => r9c5 is not 6 => r6c4 is 7 In box 7, at least one of r9c1 and r9c2 must contain one of 2, 3, or 4, otherwise an impossible [568] quad is created. In other words, thre must be a 5 or 6 in the triplet to the right. => r9c6 isn't 4 This same tension lack of places for 5 and 6 exists between boxes 7 and 9 on rows 8 and 9, which means the column 1 thermo can't begin with a 4, so creates a [12] pair on the row. => r8c4 is 3, pushing an 8 along the GW => r8c8 is 4 The very same pressure prevents r7c7 being 2 => box 9 has a [356] triple making r9c8 a 2, and r6c8 a 3. Again, the same pressure prevents r7c1 being 5, as the [56] pair on row 8 pushes a 3 onto row 9 and prevents box 7 from filling the [346] triple that would remain => r7c1 is 2, r8c1 is 1, and r8c5 is 2 => r1c2 is box 1's 1, r4c2 is 3, and r3c2 is 8 => box 2 has a [136] triple in row 3, and r1c5 is 5, pushing 4 and 3 down the thermo => r9c1 must be the 3 in the corner ... and it's pretty much all speed-run here on in Start by and placing 6 in the final corner r1c1, the 9 and 8 in box 2, and he final 8 in box 5 r9c7 is 5, r9c6 is 6, and r9c2 is 4. r8c7 is 6, r7c7 is 3, and r8c2 is 5 r2c2 is 7, r7c2 is 6, and r7c3 is the final 7 r5c5 is 3, and r3c6 is the final 3 r4c5 is 9, and r5c7 is the final 9 r5c4 is 5 and then chase the 4s, 5s, and 1s around the grid and then put everything else cosily to bed in box 5. Proof of uniqueness: https://sigh.github.io/Interactive-Sudoku-Solver/?q=.Thermo%7ER9C8%7ER9C7%7ER9C6%7ER9C5%7ER9C4%7ER9C3.Thermo%7ER2C9%7ER3C9%7ER4C9%7ER5C9%7ER6C9%7ER7C9.Thermo%7ER8C1%7ER7C1%7ER6C1%7ER5C1%7ER4C1%7ER3C1.Thermo%7ER1C2%7ER1C3%7ER1C4%7ER1C5%7ER1C6%7ER1C7%7ER1C8.Whisper%7E5%7ER5C1%7ER5C2%7ER6C2.Whisper%7E5%7ER1C6%7ER2C6%7ER2C5.Whisper%7E5%7ER6C9%7ER6C8%7ER7C8.Whisper%7E5%7ER4C1%7ER4C2%7ER3C2.Whisper%7E5%7ER9C4%7ER8C4%7ER8C3.Whisper%7E5%7ER1C7%7ER2C7%7ER2C8.Whisper%7E5%7ER5C9%7ER5C8%7ER4C8.Whisper%7E5%7ER9C5%7ER8C5%7ER8C6.ContainAtLeast%7E3%7ER1C9%7ER1C1%7ER9C1%7ER9C9