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 A363052 #27 Jul 03 2023 12:20:37 %S A363052 4,18,24,32,36,50,60,108,140,144,150,192,252,256,288,300,360,392,400, %T A363052 480,486,500,540,588,648,780,816,864,882,900,972,1008,1014,1050,1120, %U A363052 1152,1156,1176,1200,1350,1372,1452,1536,1620,1764,1800,1848,2016,2040,2048,2178 %N A363052 Integers m for which there exist positive integers j, k such that j*k*(j+k) = m^2. %C A363052 All terms are even. %e A363052 24 is a term: j*k*(j+k) = 24^2 for j=2, k=16. %t A363052 Select[2*Range@500, %t A363052 Length@Select[Table[(Sqrt[b^2 + 4 #^2/b] - b)/2, {b, #}], IntegerQ] > %t A363052 0 &] %t A363052 Select[Union@ %t A363052 Flatten@Table[Sqrt[a*b (a + b)], {a, 1, 80}, {b, a, 500}], %t A363052 IntegerQ[#] && # < 1000 &] %o A363052 (Python) %o A363052 from itertools import count, islice %o A363052 from sympy import integer_nthroot, divisors %o A363052 def A363052_gen(startvalue=1): # generator of terms >= startvalue %o A363052 for m in count(max(startvalue,1)): %o A363052 for k in divisors(m**2,generator=True): %o A363052 p, q = integer_nthroot(k**4+(k*m**2<<2),2) %o A363052 if q: %o A363052 a, b = divmod(p-k**2,k<<1) %o A363052 if a > 0 and not b: %o A363052 yield m %o A363052 break %o A363052 A363052_list = list(islice(A363052_gen(),20)) # _Chai Wah Wu_, Jul 03 2023 %Y A363052 Cf. A088915. %K A363052 nonn,easy %O A363052 1,1 %A A363052 _Zhining Yang_, May 15 2023