Нужно найти способ оптимального нахождения четвёрок натуральных чисел

, что

взаимно просты,

, и при заданном

выполняется условие 1 \leq a < c \leq d < b \leq n.
Последнее условие излишне. Дело в том, что без потери общности можно считать, что

и

- наименьшие числа в парах и что

. Тогда указанное условие выполняется автоматически.
А по сути задача сводится к нахождению различных разложений числа

в сумму двух квадратов (два таких разложения с взаимно-простыми компонентами и дадут искомую четверку). Это довольно просто в случае, когда известно разложение

на простые. Но и в случае, когда оно неизвестно, кое-что можно (попытаться) сделать. Есть готовый
ява-апплет, разлагающий заданное

в сумму квадратов, с подробным
описанием метода.
Кроме того, есть
формула (номер 17), дающая количество различных разложений

в сумму двух квадратов. Понятно, что для получения искомой четверки, таких разложений должно быть как минимум 2.