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.

A342723 a(n) is the number of convex integer quadrilaterals (up to congruence) with integer side lengths a,b,c,d with n=Max(a,b,c,d), integer diagonals e,f and integer area.

Original entry on oeis.org

0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 2, 1, 1, 3, 1, 2, 0, 0, 4, 3, 0, 0, 4, 7, 2, 0, 5, 2, 5, 0, 1, 0, 3, 4, 3, 4, 0, 6, 7, 3, 4, 0, 3, 4, 0, 0, 5, 0, 9, 10, 9, 3, 0, 5, 8, 0, 4, 0, 17, 4, 0, 9, 1, 19, 2, 0, 6, 2, 7, 0, 7, 7, 7, 23, 2, 8, 12, 0, 10, 0, 5, 0, 15, 27
Offset: 1

Views

Author

Herbert Kociemba, Apr 25 2021

Keywords

Comments

Without loss of generality we assume that a is the largest side length and that the diagonal e divides the convex quadrilateral into two triangles with sides a,b,e and c,d,e. The triangle inequality implies e > a-b and abs(e-c) < d < e+c.

Examples

			a(4)=1 is the smallest possible solution and is a rectangle with a=c=4, b=d=3, e=f=5 and area 12. a(24)=4 includes the smallest possible solution with all sides a,b,c,d different and a=24, b=20, c=15, d=7, e=20, f=25 and area 234. Furthermore there are three rectangles with a=24,b=7, a=24,b=10 and a=24,b=18.
		

Crossrefs

Cf. A340858 for trapezoids, A342720 and A342721 for concave integer quadrilaterals, A342722 for convex integer quadrilaterals with arbitrary area.

Programs

  • Mathematica
    an={};
    area[a_,b_,c_,d_,e_,f_]:=1/4 Sqrt[4e^2 f^2-(a^2+c^2-b^2-d^2)^2];
    he[a_,b_,e_]:=1/(2 e) Sqrt[-(a-b-e) (a+b-e) (a-b+e) (a+b+e)];
    paX[e_]:={e,0} (*vertex A coordinate*)
    pbX[a_,b_,e_]:={(-a^2+b^2+e^2)/(2 e),he[a,b,e]}(*vertex B coordinate*)
    pc={0,0};(*vertex C coordinate*)pdX[c_,d_,e_]:={(c^2-d^2+e^2)/(2 e),-he[c,d,e]}(*vertex D coordinate*)
    convexQ[{bx_,by_},{dx_,dy_},e_]:=If[(by-dy) e>by dx-bx dy>0,True,False]
    (*define order on tuples*)
    gQ[x_,y_]:=Module[{z=x-y,res=False},Do[If[z[[i]]>0,res=True;Break[],If[z[[i]]<0,Break[]]],{i,1,6}];res]
    (*check if tuple is canonical*)
    canonicalQ[{a_,b_,c_,d_,e_,f_}]:=Module[{x={a,b,c,d,e,f}},If[(gQ[{b,a,d,c,e,f},x]||gQ[{d,c,b,a,e,f},x]||gQ[{c,d,a,b,e,f},x]||gQ[{b,c,d,a,f,e},x]||gQ[{a,d,c,b,f,e},x]||gQ[{c,b,a,d,f,e},x]||gQ[{d,a,b,c,f,e},x]),False,True]]
    Do[cnt=0;
    Do[pa=paX[e];pb=pbX[a,b,e];pd=pdX[c,d,e];
    If[(f=Sqrt[(pb-pd).(pb-pd)];IntegerQ[f])&&(ar=area[a,b,c,d,e,f]; IntegerQ[ar])&&convexQ[pb,pd,e]&&canonicalQ[{a,b,c,d,e,f}],cnt++
    (*;Print[{{a,b,c,d,e,f,ar},Graphics[Line[{pa,pb,pc,pd,pa}]]}]*)],{b,1,a},{e,a-b+1,a+b-1},{c,1,a},{d,Abs[e-c]+1,Min[a,e+c-1]}];
    AppendTo[an,cnt],{a,1,85}]
    an