В общем, целиком задача не решилась.
Основную часть решения ТС изложил в теме по ссылке, полученное решение в итоге упирается в перебор, что плохо. У ТС изначально были только приближения снизу, но существенной разницы между задачами похоже нет.
В случае составных

используется такой прием:

. Заменяя переменные на корни из них, имеем

При

получаем

. В случае, когда

мы, решая уравнение

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

Другой прием - формула

, где

- наименьшее по модулю (чем меньше, тем точнее приближение). Прием работает как для составных, так и для простых. Для составных

поиск наименьшего

сводится к перебору решений, число вариантов выбора растет с увеличением числа делителей (экспоненциально). Для простых

решения для заданного

могут не существовать или быть тривиальными, поэтому приходится перебирать

+ не получилось доказать (скорее, это просто неверно), то погрешность растет с ростом

. Величина

растет не быстрее, чем

.
Сведение

к уравнению

дает в лучшем случае то же самое (

)
