%I #47 Nov 02 2023 02:07:16
%S 1,2,4,8,12,24,48,72,144,240,432,480,576,720,1152,1440,2880,4320,5760,
%T 8640,11520,17280,25920,30240,34560,40320,51840,60480,69120,80640,
%U 103680,120960,161280,181440,207360,241920,362880,483840,725760,967680
%N Highly totient numbers: each number k on this list has more solutions to the equation phi(x) = k than any preceding k (where phi is Euler's totient function, A000010).
%C If you inspect PhiAnsYldList after running the Mathematica program below, the zeros with even-numbered indices should correspond to the nontotients (A005277).
%C Where records occur in A014197. - _T. D. Noe_, Jun 13 2006
%C Cf. A131934.
%H Jud McCranie, <a href="/A097942/b097942.txt">Table of n, a(n) for n = 1..109</a> (terms 1..79 from T. D. Noe, terms 80..86 from Donovan Johnson)
%H Wikipedia, <a href="http://en.wikipedia.org/wiki/Highly_totient_number">Highly totient number</a>.
%e a(4) = 8 since phi(x) = 8 has the solutions {15, 16, 20, 24, 30}, one more solution than a(3) = 4 for which phi(x) = 4 has solutions {5, 8, 10, 12}.
%p HighlyTotientNumbers := proc(n) # n > 1 is search maximum
%p local L, m, i, r; L := NULL; m := 0;
%p for i from 1 to n do
%p r := nops(numtheory[invphi](i));
%p if r > m then L := L,[i,r]; m := r fi
%p od; [L] end:
%p A097942_list := n -> seq(s[1], s = HighlyTotientNumbers(n));
%p A097942_list(500); # _Peter Luschny_, Sep 01 2012
%t searchMax = 2000; phiAnsYldList = Table[0, {searchMax}]; Do[phiAns = EulerPhi[m]; If[phiAns <= searchMax, phiAnsYldList[[phiAns]]++ ], {m, 1, searchMax^2}]; highlyTotientList = {1}; currHigh = 1; Do[If[phiAnsYldList[[n]] > phiAnsYldList[[currHigh]], highlyTotientList = {highlyTotientList, n}; currHigh = n], {n, 2, searchMax}]; Flatten[highlyTotientList]
%o (Sage)
%o def HighlyTotientNumbers(n) : # n > 1 is search maximum.
%o R = {}
%o for i in (1..n^2) :
%o r = euler_phi(i)
%o if r <= n :
%o R[r] = R[r] + 1 if r in R else 1
%o # print R.keys() # A002202
%o # print R.values() # A058277
%o P = []; m = 1
%o for l in sorted(R.keys()) :
%o if R[l] > m : m = R[l]; P.append((l,m))
%o # print [l[0] for l in P] # A097942
%o # print [l[1] for l in P] # A131934
%o return P
%o A097942_list = lambda n: [s[0] for s in HighlyTotientNumbers(n)]
%o A097942_list(500) # _Peter Luschny_, Sep 01 2012
%o (PARI)
%o { A097942_list(n) = local(L, m, i, r);
%o m = 0;
%o for(i=1, n,
%o \\ from _Max Alekseyev_, http://home.gwu.edu/~maxal/gpscripts/
%o r = numinvphi(i);
%o if(r > m, print1(i,", "); m = r) );
%o } \\ _Peter Luschny_, Sep 01 2012
%Y A subsequence of A007374.
%Y Cf. A000010, A005277, A014573, A004653, A105207, A105208.
%K nonn
%O 1,2
%A _Alonso del Arte_, Sep 05 2004
%E Edited and extended by _Robert G. Wilson v_, Sep 07 2004