login
a(0) = 15; for n > 0, a(n) is the smallest triangular number which is a (proper) multiple of a(n-1).
1

%I #10 May 06 2024 11:04:13

%S 15,45,630,25200,32004000,508031496000,128015872500032496000,

%T 3670698694547655407496988066168944000,

%U 10302657959650317880463349610273001290502485245258650172717840000

%N a(0) = 15; for n > 0, a(n) is the smallest triangular number which is a (proper) multiple of a(n-1).

%C Thanks to _Dean Hickerson_ for a very efficient program.

%H Chai Wah Wu, <a href="/A068513/b068513.txt">Table of n, a(n) for n = 0..10</a>

%t Needs[ NumberTheory`NumberTheoryFunctions`]; pm1[{k_}] := {1, k - 1}; pm1[lst_] := Module[{a, m, v}, a = lst[[1]]; m = Times @@ Rest[lst]; v = pm1[ Rest[lst]]; Union[ ChineseRemainder[{1, #}, {a, m}] & /@ v, ChineseRemainder[{-1, #}, {a, m}] & /@ v]]; nexttri[1] = 3; nexttri[n_] := Module[{s}, s = (pm1[Power @@ # & /@ FactorInteger[4n]]^2 - 1)/8; For[i = 1, True, i++, If[s[[i]] > n, Return[ s[[i]]] ]]]; a[0] = 15; a[n_] := a[n] = nexttri[ a[n - 1]]; Table[ a[n], {n, 0, 8}]

%o (Python)

%o from itertools import islice

%o from sympy import sqrt_mod_iter

%o def A068513_gen(): # generator of terms

%o a = 120

%o while True:

%o yield a>>3

%o b = a+1

%o for d in sqrt_mod_iter(1,a):

%o if d==1 or d**2-1 == a:

%o d += a

%o if d&1 and d < b:

%o b = d

%o a = b**2-1

%o A068513_list = list(islice(A068513_gen(),10)) # _Chai Wah Wu_, May 05 2024

%Y Cf. A068776, A068142.

%K nonn

%O 0,1

%A _Robert G. Wilson v_, Mar 19 2002