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.

A379600 a(n) is the semiperimeter of the primitive Pythagorean triangle (x(n), y(n), z(n)) with x(n) < y(n) < z(n) and x(n) > x(n-1), y(n) > y(n-1), z(n) > z(n-1), which has the smallest perimeter (if there are several triangles with smallest perimeter: the one of these with the smallest area), starting from a(1) = (3 + 4 + 5)/2 = 6.

Original entry on oeis.org

6, 15, 20, 35, 63, 77, 99, 104, 130, 165, 204, 247, 266, 336, 345, 391, 425, 450, 513, 580, 609, 651, 713, 805, 825, 888, 945, 1036, 1107, 1204, 1271, 1376, 1457, 1530, 1617, 1645, 1764, 1887, 1961, 2014, 2090, 2280, 2337, 2419, 2537, 2562, 2684, 2772, 2990, 3149
Offset: 1

Views

Author

Felix Huber, Feb 15 2025

Keywords

Comments

Conjecture: There is no primitive Pythagorean triangle that has a smaller semiperimeter than a(n) that can be drawn around the primitive Pythagorean triangle (x(n-1), y(n-1), z(n-1)) without touching it.
Subsequence of A020886.

Examples

			(8, 15, 17) is the primitive Pythagorean triangle with semiperimeter a(3) = 20. (20, 21, 29) is the primitive Pythagorean triangle with semiperimeter a(4) = 35 because 20 > 8, 21 > 15, 29 > 17 and there is no other primitive Pythagorean triangle with perimeter <= 70 satisfying this criterium. For example, the primitive Pythagorean triangle (7, 24, 25) has the perimeter 56 but 7 < 8.
		

Crossrefs

Programs

  • Maple
    A379600:=proc(S) # to get all terms <= S
        local p,q,i,L,M;
        L:=[];
        M:=[[3,4,5,6,6]];
        for p from 3 to floor((sqrt(4*S+1)-1)/2) do
            for q to min(p-1,S/p-p) do
                if gcd(p,q)=1 and is(p-q,odd) then
                    L:=[op(L),[min(p^2-q^2,2*p*q),max(p^2-q^2,2*p*q),p^2+q^2,p*(p+q),(p^2-q^2)*p*q]];
                fi
            od
        od;
        L:=sort(sort(L,(x,y)->x[5]<=y[5]),(x,y)->x[4]<=y[4]);
        for i in L do
            if i[1]>M[nops(M),1] and i[2]>M[nops(M),2] and i[3]>M[nops(M),3] then
                M:=[op(M),i]
            fi
        od;
        return seq(M[i,4],i=1..nops(M))
    end proc;
    A379600(3149);
    # 3 lines above: change 4 to 3 for hypotenuses, to 2 for long legs and to 1 for short legs, to 5 for areas