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.
%I A371070 #22 Apr 04 2024 10:16:02 %S A371070 1,0,0,1,1,1,3,2,3,6,5,7,12,10,16,19,21,26,34,37,44,56,60,67,93,92, %T A371070 111,137,140,166,192,211,246,279,306,333,392,428,464,538,565,627,709, %U A371070 768,826,939,998,1089,1230,1312,1403,1590,1658,1798,1987,2088,2266,2495 %N A371070 a(n) is the number of distinct volumes > 0 of tetrahedra with the sum of their integer edge lengths equal to n. %H A371070 Chai Wah Wu, <a href="/A371070/b371070.txt">Table of n, a(n) for n = 6..200</a> %H A371070 Hugo Pfoertner, <a href="/plot2a?name1=A371070&name2=A208454&tform1=untransformed&tform2=untransformed&shift=0&radiop1=ratio&drawpoints=true">Plot of ratio a(n)/A208454(n)</a>, using Plot 2. Is the asymptotic ratio for n->oo finite or 0? %F A371070 a(n) <= A208454(n). %o A371070 (PARI) a371070(n) = {my (L=List()); forpart (w=n, forperm (w,v, if(v[4]+v[5]<v[6],next); if(v[4]+v[6]<v[5],next); if(v[5]+v[6]<v[4],next); if(v[1]+v[2]<v[4],next); if(v[1]+v[4]<v[2],next); if(v[2]+v[4]<v[1],next); if(v[1]+v[3]<v[5],next); if(v[1]+v[5]<v[3],next); if(v[3]+v[5]<v[1],next); if(v[2]+v[3]<v[6],next); if(v[2]+v[6]<v[3],next); if(v[3]+v[6]<v[2],next); my(CM=matdet ([0,1,1,1,1; 1,0,v[1]^2,v[2]^2,v[3]^2; 1,v[1]^2,0,v[4]^2,v[5]^2; 1,v[2]^2,v[4]^2,0,v[6]^2; 1,v[3]^2,v[5]^2,v[6]^2,0])); if (CM>0, listput (L,CM))), [1,n], [6,6]); #Set(Vec(L))}; %o A371070 (Python) %o A371070 from collections import Counter %o A371070 from sympy.utilities.iterables import partitions, multiset_permutations %o A371070 def A371070(n): %o A371070 CM = lambda x,y,z,t,u,v: (x*y*z<<2)+(a:=x+y-t)*(b:=x+z-u)*(c:=y+z-v)-x*c**2-y*b**2-z*a**2 %o A371070 TR1 = lambda x,y,z: not(x+y<z or x+z<y or y+z<x) %o A371070 TR = lambda x,y,z,t,u,v: TR1(t,u,v) and TR1(x,y,t) and TR1(x,z,u) and TR1(y,z,v) %o A371070 c, d, sq = 0, set(), tuple(x**2 for x in range(n+1)) %o A371070 for s, w in partitions(n,m=6,k=n-5,size=True): %o A371070 if s == 6: %o A371070 for v in multiset_permutations(Counter(w).elements()): %o A371070 if TR(*v) and (M:=CM(sq[v[0]],sq[v[1]],sq[v[2]],sq[v[3]],sq[v[4]],sq[v[5]]))>0 and M not in d: %o A371070 d.add(M) %o A371070 c += 1 %o A371070 return c # _Chai Wah Wu_, Mar 23 2024 %Y A371070 Cf. A001402, A097125, A208454, A346575, A371071, A371345. %K A371070 nonn %O A371070 6,7 %A A371070 _Hugo Pfoertner_, Mar 18 2024