cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A046109 Number of lattice points (x,y) on the circumference of a circle of radius n with center at (0,0).

This page as a plain text file.
%I A046109 #67 Aug 19 2025 17:59:18
%S A046109 1,4,4,4,4,12,4,4,4,4,12,4,4,12,4,12,4,12,4,4,12,4,4,4,4,20,12,4,4,12,
%T A046109 12,4,4,4,12,12,4,12,4,12,12,12,4,4,4,12,4,4,4,4,20,12,12,12,4,12,4,4,
%U A046109 12,4,12,12,4,4,4,36,4,4,12,4,12,4,4,12,12,20,4,4,12,4,12,4,12,4,4,36
%N A046109 Number of lattice points (x,y) on the circumference of a circle of radius n with center at (0,0).
%C A046109 Also number of Gaussian integers x + yi having absolute value n. - _Alonso del Arte_, Feb 11 2012
%C A046109 The indices of terms not equaling 4 or 12 correspond to A009177, n>0. - _Bill McEachen_, Aug 14 2025
%H A046109 Reinhard Zumkeller, <a href="/A046109/b046109.txt">Table of n, a(n) for n = 0..1000</a>
%H A046109 Michael Gilleland, <a href="/selfsimilar.html">Some Self-Similar Integer Sequences</a>
%H A046109 Eric Weisstein's World of Mathematics, <a href="https://mathworld.wolfram.com/CircleLatticePoints.html">Circle Lattice Points</a>
%F A046109 a(n) = A000328(n) - A051132(n).
%F A046109 a(n) = 8*A046080(n) + 4 for n > 0.
%F A046109 a(n) = A004018(n^2).
%F A046109 From _Jean-Christophe Hervé_, Dec 01 2013: (Start)
%F A046109 a(A084647(k)) = 28.
%F A046109 a(A084648(k)) = 36.
%F A046109 a(A084649(k)) = 44. (End)
%F A046109 a(n) = 4 * Product_{i=1..k} (2*e_i + 1) for n > 0, given that p_i^e_i is the i-th factor of n with p_i = 1 mod 4. - _Orson R. L. Peters_, Jan 31 2017
%F A046109 a(n) = [x^(n^2)] theta_3(x)^2, where theta_3() is the Jacobi theta function. - _Ilya Gutkovskiy_, Apr 20 2018
%F A046109 From _Hugo Pfoertner_, Sep 21 2023: (Start)
%F A046109 a(n) = 8*A063014(n) - 4 for n > 0.
%F A046109 a(n) = 4*A256452(n) for n > 0. (End)
%e A046109 a(5) = 12 because the circumference of the circle with radius 5 will pass through the twelve points (5, 0), (4, 3), (3, 4), (0, 5), (-3, 4), (-4, 3), (-5, 0), (-4, -3), (-3, -4), (0, -5), (3, -4) and (4, -3). Alternatively, we can say the twelve Gaussian integers 5, 4 + 3i, ... , 4 - 3i all have absolute value of 5.
%p A046109 N:= 1000: # to get a(0) to a(N)
%p A046109 A:= Array(0..N):
%p A046109 A[0]:= 1:
%p A046109 for x from 1 to N do
%p A046109   A[x]:= A[x]+4;
%p A046109   for y from 1 to min(x-1,floor(sqrt(N^2-x^2))) do
%p A046109      z:= x^2+y^2;
%p A046109      if issqr(z) then
%p A046109        t:= sqrt(z);
%p A046109        A[t]:= A[t]+8;
%p A046109      fi
%p A046109   od
%p A046109 od:
%p A046109 seq(A[i],i=0..N); # _Robert Israel_, May 08 2015
%t A046109 Table[Length[Select[Flatten[Table[r + I i, {r, -n, n}, {i, -n, n}]], Abs[#] == n &]], {n, 0, 49}] (* _Alonso del Arte_, Feb 11 2012 *)
%o A046109 (Haskell)
%o A046109 a046109 n = length [(x,y) | x <- [-n..n], y <- [-n..n], x^2 + y^2 == n^2]
%o A046109 -- _Reinhard Zumkeller_, Jan 23 2012
%o A046109 (Python)
%o A046109 from sympy import factorint
%o A046109 def a(n):
%o A046109     r = 1
%o A046109     for p, e in factorint(n).items():
%o A046109         if p%4 == 1: r *= 2*e + 1
%o A046109     return 4*r if n > 0 else 0
%o A046109 # _Orson R. L. Peters_, Jan 31 2017
%o A046109 (PARI) a(n)=if(n==0, return(1)); my(f=factor(n)); 4*prod(i=1,#f~, if(f[i,1]%4==1, 2*f[i,2]+1, 1)) \\ _Charles R Greathouse IV_, Feb 01 2017
%o A046109 (PARI) a(n)=if(n==0, return(1)); t=0; for(x=1, n-1, y=n^2-x^2; if(issquare(y), t++)); return(4*t+4) \\ _Arkadiusz Wesolowski_, Nov 14 2017
%Y A046109 Cf. A004018, A046080, A046110, A046111, A046112, A063014, A256452.
%Y A046109 Cf. A000328, A051132, A009177.
%K A046109 nonn,easy,nice
%O A046109 0,2
%A A046109 _Eric W. Weisstein_