OFFSET
1,2
COMMENTS
All terms other than 3 and 5 are even. As a(114) = 510 and a(115) = 570 both contain 2 and 5 as prime factors, all subsequent terms are multiples of 10. Likewise after 1994 terms all terms contain 2, 3, 5, 7, 11 as factors, so all subsequent terms are multiples of 2*3*5*7*11 = 2310.
The terms grow rapidly in size, e.g., a(2459) = 28318290. The smallest number not to appear is 7.
a(n) = k*m such that k = A007947(a(n-2)+a(n-1)) and m >= 1 produces the smallest k*m != a(j), j < n. - Michael De Vlieger, Jan 07 2023
LINKS
Michael De Vlieger, Table of n, a(n) for n = 1..10000
Michael De Vlieger, Log log scatterplot of a(n), n = 1..2^20.
Michael De Vlieger, Log log scatterplot of a(n), n = 1..2^12, showing records in red, highlighting composite prime powers in gold, squarefree semiprimes in large green, 5-smooth numbers that are not p-smooth, p > 5, in small green, 7-smooth numbers that are not p-smooth, p > 7, in magenta, 11-smooth numbers that are not p-smooth, p > 11, in cyan, and 13-smooth numbers that are not p-smooth, p > 13, in blue.
EXAMPLE
a(5) = 4 as a(3) + a(4) = 3 + 5 = 8 which contains 2 as its only distinct prime factor, and 4 is the smallest unused number to contain 2 as a factor.
a(12) = 34 as a(10) + a(11) = 20 + 14 = 34 which contains 2 and 17 as distinct prime factors, and 34 is also the smallest unused number to contain 2 and 17 as factors.
a(13) = 18 as a(11) + a(12) = 14 + 34 = 48 which contains 2 and 3 as distinct prime factors, and 18 is the smallest unused number to contain 2 and 3 as factors.
MATHEMATICA
nn = 2^7; c[_] = False; q[_] = 1; f[n_] := Times @@ FactorInteger[n][[All, 1]]; Array[Set[{a[#], c[#]}, {#, True}] &, 2]; Set[{i, j, k}, {a[1], a[2], f[a[1] + a[2]]}]; Do[m = q[k]; While[c[k m], m++]; m *= k; While[c[k q[k]], q[k]++]; Set[{a[n], c[m], i, j, k}, {m, True, j, m, f[j + m]}], {n, 3, nn}]; Array[a, nn] (* Michael De Vlieger, Jan 07 2023 *)
PROG
(Python)
from math import prod
from sympy import factorint
from itertools import count, islice
def agen():
i, j, aset = 1, 2, {1, 2}; yield from [i, j]
while True:
m = prod(factorint(i+j))
an = next(k*m for k in count(1) if m*k not in aset)
i, j = j, an; aset.add(an); yield an
print(list(islice(agen(), 61))) # Michael S. Branicky, Jan 16 2023
CROSSREFS
KEYWORD
nonn,look
AUTHOR
Scott R. Shannon, Jan 05 2023
STATUS
approved