Да, это решение совсем коротенькое. Я в комментариях предложил идею построения, она не сложная, но построение на несколько шагов длиннее. Там надо построить прямой угол, на сторонах от вершины отложить c, соединить (получился отрезок с√2); опять от вершины прямого угла отложить m и из конца провести окружность радиуса c√2. Она отсечет от второй стороны отрезок, равный n = a - b; остается построить a = (m + n)/2; b = (m - n)/2;