It works with decimals but isn't always able to find a solution. As I said it's quite cheap and isn't totally fool-proof. It cannot find any solutions for 10.4 - 23.5 but gets this for 10 - 23.5..
Still indeed needs work..
Code:
Ring 20, scale by 0.5 (10 -> 10.5)
Ring 7, scale by 1.5 (10.5 -> 12)
Ring 8, scale by 1.5 (12 -> 13.5)
Ring 3, scale by 4.5 (13.5 -> 18)
Ring 12, scale by 1.5 (18 -> 19.5)
Ring 39, scale by 0.5 (19.5 -> 20)
Ring 20, scale by 1 (20 -> 21)
Ring 14, scale by 1.5 (21 -> 22.5)
Ring 45, scale by 0.5 (22.5 -> 23)
Ring 46, scale by 0.5 (23 -> 23.5)
Still indeed needs work..