A387031 All integers k that can produce a closed walk in an equilateral triangular lattice via noncongruent primitive k-length diagonals, in ascending order.
53599, 104377, 105469, 121303, 126217, 136591, 144781, 172081, 177289, 178087, 189007, 205933, 211603, 222859, 251503, 273637, 276241, 290563, 300181, 300979, 307489, 325717, 345247, 346801, 348859, 358267, 359233, 388759, 392119, 392977, 403039, 417487
Offset: 1
Keywords
Examples
a(1) = 53599 because 53599-length moves of [0, 60, 120] degrees respectively of [26216, 35445, 0] + [-16165, 0, 43656] + [-19651, 0, 41000] + [-1389, -52891, 0] + [0, -21829, -39240] + [50264, 0, -6141] = [39275, -39275, 39275], and [0, 0] + 39275 @ 0 degrees - 39275 @ 60 degrees + 39275 @ 120 degrees = [0, 0].
Programs
-
PARI
is_a387031(k)={my(v=List); for(x=1, sqrtint(k^2/3), my(y=(sqrtint(4*k^2-3*x^2)-x)/2); if((x+y/2)^2+y^2*3/4==k^2 && gcd([x, y, k])==1, listput(v, [x, y]))); return(if(#v>=3 && closable(v), 1, 0))} closable(v, c=vector(4))={my(o=(c[1]==c[3] && c[2]==-c[3])); if(!#v, return(if(c[4], o, 0))); my(x, y, v2=v); listpop(v2); foreach(if(o, [0, 1], [0, 1, 2, 3, 4, 5, 6]), r1, my(r2=r1%6+1); forperm(2, p, my(c2=c); if(r1, c2[(r1-1)%3+1]+=v[#v][p[1]]*if(r1>=4, -1, 1); c2[(r2-1)%3+1]+=v[#v][p[2]]*if(r2>=4, -1, 1); c2[4]++); if(closable(v2, c2), return(1)); if(!r1, break)))}
Comments