В общем, целиком задача не решилась.
Основную часть решения ТС изложил в теме по ссылке, полученное решение в итоге упирается в перебор, что плохо. У ТС изначально были только приближения снизу, но существенной разницы между задачами похоже нет.
В случае составных
используется такой прием:
. Заменяя переменные на корни из них, имеем
При
получаем
. В случае, когда
мы, решая уравнение
, получаем 2 приближения сверху и снизу и выбираем точное. А в случае большего числа делителей перебор увеличивается. Оптимальное значение достигается при наиболее близких друг к другу значениях корней
Другой прием - формула
, где
- наименьшее по модулю (чем меньше, тем точнее приближение). Прием работает как для составных, так и для простых. Для составных
поиск наименьшего
сводится к перебору решений, число вариантов выбора растет с увеличением числа делителей (экспоненциально). Для простых
решения для заданного
могут не существовать или быть тривиальными, поэтому приходится перебирать
+ не получилось доказать (скорее, это просто неверно), то погрешность растет с ростом
. Величина
растет не быстрее, чем
.
Сведение
к уравнению
дает в лучшем случае то же самое (
)