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.

A325602 Lower left-hand x-coordinate for 2 X 2 invisible forest with 0 < x < y.

This page as a plain text file.
%I A325602 #26 May 31 2019 13:06:28
%S A325602 14,14,20,44,39,21,45,34,50,21,44,39,54,75,45,65,34,77,74,69,90,56,50,
%T A325602 84,76,33,84,14,20,69,55,111,75,33,14,105,35,119,95,20,56,35,74,90,
%U A325602 110,104,76,62,20,35
%N A325602 Lower left-hand x-coordinate for 2 X 2 invisible forest with 0 < x < y.
%C A325602 These are 2 X 2 rectangles of lattice points not visible along straight lines of sight from the origin. The sequence is ordered by Euclidean distance from (0,0).
%H A325602 Benjamin Hutz, <a href="/A325602/b325602.txt">Table of n, a(n) for n = 1..1000</a>
%H A325602 E. Goins, P. Harris, B. Kubik, A. Mbirika, <a href="https://arxiv.org/abs/1710.04554">Lattice Point Visibility on Generalized Lines of Sight</a>, arXiv:1710.04554 [math.NT], 2017; Amer. Math. Monthly 125 (2018) 593-601.
%H A325602 F. Herzog, B. M. Stewart, <a href="https://www.jstor.org/stable/2317753">Patterns of Visible and Nonvisible Lattice Points</a>, Amer. Math. Monthly 78 (1971) 487-496
%H A325602 S. Laishram, F. Luca, <a href="https://cs.uwaterloo.ca/journals/JIS/VOL18/Laishram/lai2.html">Rectangles Of Nonvisible Lattice Points</a>, J. Int. Seq. 18 (2015) 15.10.8.
%e A325602 (14,20), (14,35), (20,35), (44,54), (39,65), (21,77), (45,69), (34,84), ...
%o A325602 (Python) def is_nxn(x,y,n):
%o A325602     if all([gcd(x+a,y+b) != 1 for a in range(n) for b in range(n)]):
%o A325602         return True
%o A325602     return False
%o A325602 def insert_item(pts, item, index):
%o A325602     N = len(pts)
%o A325602     if N == 0:
%o A325602       return [item]
%o A325602     elif N == 1:
%o A325602         if item[index] < pts[0][index]:
%o A325602             pts.insert(0,item)
%o A325602         else:
%o A325602             pts.append(item)
%o A325602         return pts
%o A325602     else: #binary insertion
%o A325602         left = 1
%o A325602         right = N
%o A325602         mid = ((left + right)/2).floor()
%o A325602         if item[index] < pts[mid][index]:
%o A325602         # item goes into first half
%o A325602             return insert_item(pts[:mid], item, index) + pts[mid:N]
%o A325602         else:
%o A325602         # item goes into second half
%o A325602             return pts[:mid] + insert_item(pts[mid:N], item, index)
%o A325602 B=1200
%o A325602 L=[]
%o A325602 for x in range(1,B):
%o A325602     for y in range(x+1,B):
%o A325602         if is_nxn(x,y,n=2):
%o A325602             G=[x,y,x^2+y^2]
%o A325602             L=insert_item(L, G, 2)
%Y A325602 Cf. A157426, A157427, A157428, A157429.
%Y A325602 Cf. A325603, A325604, A325605, A325606, A325607.
%K A325602 nonn
%O A325602 1,1
%A A325602 _Benjamin Hutz_, May 10 2019