На самом деле, если

, то вектор состоит из одного элемента -

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

, а потом на

, получая "вектор"

. Так что в принципе это работает всегда, для любого

. Но это слишком необычный случай, поэтому далее рассматриваются только нечетные

.
Ну по сути надо доказать следующее: применение указанной операции к паре

дважды (с перестановкой в процессе) дает

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

, а поскольку они оба по построению меньше

, то этот множитель может быть равен только

). Значит

, и первое применение операции даст

. Сумма этих двух чисел равна

, и если она проста, то после второго применения операции получим

, что и требовалось доказать.
Если

составное, пусть его наименьший простой делитель

(очевидно, он нечетен). Тогда если если среди

последовательных чисел

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

.
Чтобы этого избежать, нужно, чтобы (во всяком случае) чисел было

, откуда

. То есть, если

- фиксировано, то количество только возможных натуральных кандидатов на

сильно ограничено, а мы же еще накладываем условия: а) простоты

, б) составности

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

и

для всех

.
В частности, для

необходимое условие

, двойку мы выбросили из рассмотрения, а тройка дает простую пару

, то есть не годится. А для больших

можно приблизительно оценивать

.