%I #66 Apr 06 2024 15:00:26
%S 3,4,5,7,8,9,10,11,12,13,16,17,18,19,20,21,25,26,27,28,29,31,32,34,36,
%T 37,39,40,41,43,45,48,49,50,52,53,55,57,58,61,63,64,65,67,68,72,73,74,
%U 75,76,79,80,81,82,84,85,89,90,91,93,97,98,100,101,103,104,106,108,109,111,112,113,116,117,121,122
%N Integers represented by cyclotomic binary forms.
%H Michel Waldschmidt and Peter Luschny (Michel Waldschmidt to 519), <a href="/A296095/b296095.txt">Table of n, a(n) for n = 1..1000</a>
%H Étienne Fouvry, Claude Levesque, Michel Waldschmidt, <a href="https://arxiv.org/abs/1712.09019">Representation of integers by cyclotomic binary forms</a>, arXiv:1712.09019 [math.NT], 2017.
%p with(numtheory): for n from 3 to 1000 do F[n] := expand(y^phi(n)*cyclotomic(n, x/y)) od: for m to 1000 do for n from 3 to 50 do for x from -50 to 50 do for y from -50 to 50 do if `and`(F[n] = m, max(abs(x), abs(y)) > 1) then print(m); m := m+1; n := 3; x := -50; y := -50 end if end do end do end do end do;
%t isA296095[n_]:=
%t If[n<3, Return[False],
%t logn = Log[n]^1.161;
%t K = Floor[5.383*logn];
%t M = Floor[2*(n/3)^(1/2)];
%t k = 3;
%t While[True,
%t If[k==7,
%t K = Ceiling[4.864*logn];
%t M = Ceiling[2*(n/11)^(1/4)]
%t ];
%t For[y=2, y<=M, y++,
%t p[z_] = y^EulerPhi[k]*Cyclotomic[k,z];
%t For[x=1, x<=y, x++, If[n==p[x/y], Return[True]]]
%t ];
%t k++;
%t If[k>K, Break[]]
%t ];
%t Return[False]
%t ];
%t Select[Range[122], isA296095] (* _Jean-François Alcover_, Feb 20 2018, translated from _Peter Luschny_'s Sage script, updated Mar 01 2018 *)
%o (Sage)
%o def isA296095(n):
%o if n < 3: return False
%o logn = log(n)^1.161
%o K = floor(5.383*logn)
%o M = floor(2*(n/3)^(1/2))
%o k = 3
%o while True:
%o if k == 7:
%o K = ceil(4.864*logn)
%o M = ceil(2*(n/11)^(1/4))
%o for y in (2..M):
%o p = y^euler_phi(k)*cyclotomic_polynomial(k)
%o for x in (1..y):
%o if n == p(x/y): return True
%o k += 1
%o if k > K: break
%o return False
%o def A296095list(upto):
%o return [n for n in (1..upto) if isA296095(n)]
%o print(A296095list(122)) # _Peter Luschny_, Feb 28 2018
%o (Julia)
%o using Nemo
%o function isA296095(n)
%o n < 3 && return false
%o R, z = PolynomialRing(ZZ, "z")
%o N = QQ(n)
%o # Bounds from Fouvry & Levesque & Waldschmidt
%o logn = log(n)^1.161
%o K = Int(floor(5.383*logn))
%o M = Int(floor(2*(n/3)^(1/2)))
%o k = 3
%o while true
%o c = cyclotomic(k, z)
%o e = Int(eulerphi(ZZ(k)))
%o if k == 7
%o K = Int(ceil(4.864*logn))
%o M = Int(ceil(2*(n/11)^(1/4)))
%o end
%o for y in 2:M, x in 1:y
%o N == y^e*subst(c, QQ(x,y)) && return true
%o end
%o k += 1
%o k > K && break
%o end
%o return false
%o end
%o A296095list(upto) = [n for n in 1:upto if isA296095(n)]
%o println(A296095list(2040)) # _Peter Luschny_, Feb 28 2018
%Y Complement of A293654.
%K nonn
%O 1,1
%A _Michel Waldschmidt_, Feb 14 2018
|