Существует ли на PARI функция вызова наибольшего делителя

меньшего

?
Например нам нужно осуществить трансформацию:

Осуществляется она следующим образом:
- первым делом мы отнимаем от числа
его наибольший делитель, меньший
, т.е.
, получаем 
- затем от числа
мы отнимаем его наибольший делитель, меньший
, т.е.
, получаем 
- после этого от числа
мы отнимаем его наибольший делитель, меньший
, т.е.
, получаем 
- затем от числа
мы отнимаем его наибольший делитель, меньший
, т.е.
, получаем 
- и наконец от числа
мы отнимаем его наибольший делитель, меньший
, т.е.
, получаем 
Очевидно, что дальше двигаться уже нельзя. Значит интересующее нас число это

. То же самое, но без вызова наибольшего делителя

меньшего

можно реализовать через

Т.е. здесь у нас

Вот простейшая программка:
Код:
a(n)=local(A=n, D); for(i=1, n-1, D=n-i; A=if(A%D==0,A-D,A)); return(A)
Работает неплохо, когда надо сгенерить немного первых значений

, но когда речь заходит об

, то задача становится уже достаточно проблематичной.