ClearAll[PowerfulNumberQ, StrongAchillesNumberQ] PowerfulNumberQ[n_Integer] := AllTrue[FactorInteger[n][[All, 2]], GreaterEqualThan[2]] AchillesNumberQ[n_Integer] := Module[{divs}, If[PowerfulNumberQ[n], divs = Divisors[n]; If[Length[divs] > 2, divs = divs[[2 ;; -2]]; !AnyTrue[Log[#, n] & /@ divs, IntegerQ] , True ] , False ] ] StrongAchillesNumberQ[n_] := AchillesNumberQ[n] \[And] AchillesNumberQ[EulerPhi[n]] n = 0; i = 0; Reap[While[n < 50, i++; If[AchillesNumberQ[i], n++; Sow[i]] ]][[2, 1]] n = 0; i = 0; Reap[While[n < 20, i++; If[StrongAchillesNumberQ[i], n++; Sow[i]] ]][[2, 1]] Tally[IntegerLength /@ Select[Range[9999999], AchillesNumberQ]] // Grid