Обозначим точку золотого сечения

. Натуральное

делит

, причем

- наименьшее из удовлетворяющих данному требованию, его и хочется найти. Идея простая: дробь

является хорошим приближением

, и существует вещественное

такое, что

, то есть

. Отсюда

. В знаменателе последней дроби целое число (обозначим его

- число, "домножающее"

до наименьшего Фибоначчи), сама дробь несократима, поскольку несократима

и должна входить подходящей дробью в разложение

. Тут требуется строгое доказательство, замечу только что

- "самая точная" дробь указанной последовательности, т.е. стоящая перед наибольшим знаком. Уже по этому признаку можно бы вести разложение до

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

и далее

, воспользовавшись формулой Бине. Дело не только в том что

. Важно что

(из общих свойств Фибоначчи), а значит и по

. Таким образом

- палиндром, а для вычисления палиндрома достаточно полупериода (подробней об этом
здесь, глава "Палиндромы"). Приведу пример для

:

вот эта симметричная структура, "зажатая" между двумя большими знаками, которые отбрасываем за ненадобностью и есть

. Вычисления в данном случае занимают

шагов:

.
Преобразуем теперь

. Для практического применения удобна следующая схема в виде таблицы:

Тут

- знаки непрерывной дроби,

- знаменатели соответствующих подходящих дробей, остальные переменные можно считать вспомогательными. Вычисления ведутся до состояния

или

. В первом случае

как в примере (нечетный период), во втором

(четный период), и

. На этом можно бы и закончить, но хочется еще порассуждать. О существовании квазипростых относительно

читать не приходилось, но и доказательства не встречал что

свидетельствует о простоте

. Если есть инф. на русском языке, буду признателен. Так или иначе, если

простое, данные дискретного логорифма и

будут совпадать. Бывают ли квазипростые относительно разных алгоритмов - тоже интересный вопрос. Это всё к тому, что описанная процедура работает не только с рядом Фибоначчи, но и с другими последовательностями вида

. Остановлюсь подробней на случае

(начальные члены

). Отношение соседних членов стремится к точке

, общий член

и по аналогии с Фибоначчи

, из

следует

. Делимость на простые также по аналогии, только не по

, а по

, что важно: простое

вида

делит

, простое

вида

делит

. Для вычисления наименьшего члена, кратного данному модулю

разлагаем

в непрерывную дробь, и похожая таблица:

Остальное без изменений,

. Из четырех последовательностей таблицы единственная возрастающая и самая затратная для вычислений

является функцией от

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

. При тестировании на простоту отрицательного результата достаточно одного. Немного статистики. Расчет

для

потребовал на каждое

в среднем

знака полупериода, при объединенном алгоритме - 47 знаков. При том что числа для вычисления

понадобились значительно меньшие, а можно ведь запустить и тройной алгоритм, и более того :)
Вопрос факторизации

в свете сказанного выложен отдельно
https://dxdy.ru/post1335397.html#p1335397.