proposed
approved
proposed
approved
editing
proposed
(PARI) uphi(n) = prodmy(i=1, #nf=factor(n)~, n); prod(i=1, #f, f[1, i]^nf[2, i]-1);
approved
editing
proposed
approved
editing
proposed
(PARI) solve_uphi(N, D, limit) = {my(g, f, uphi, sol, p, n, pn, uphipn, tmp, ll); sol = []; g = gcd(N, D); N /= g; D /= g; if (D==1, if (N==1, sol = [1]); sol; , f = factor(D); uphi = prod(i=1, #f~, f[i, 1]^f[i, 2]-1); if (uphi<N, sol=[], sol = []; p = f[length(f~), 1]; n = f[length(f~), 2]; pn = p^n; uphipn = p^n-1; while(pn<=limit, tmp = solve_uphi(N*pn, D*uphipn, limit/pn); for (i=1, length(tmp), if (gcd(pn, tmp[i])==1, sol = concat(sol, pn*tmp[i]); ); ); n++; pn *= p; uphipn = p^n-1; ); if (uphi == N, sol = concat(sol, [D])); ); ); select(x->(x <= limit), vecsort(sol, , 8)); }
solve_uphi(1, 2, 10^20) \\ Michel Marcus, Jun 07 2018
approved
editing
proposed
approved
editing
proposed
2, 12, 168, 240, 14880, 65280, 7608944640, 4294901760, 7608944640, 1125874137169920, 18446744069414584320
proposed
editing
editing
proposed