Reminder: The OEIS is hiring a new managing editor, and the application deadline is January 26.
%I #44 Mar 31 2024 02:13:33
%S 1,2,3,5,6,8,12,13,15,16,21,23,28,32,37,38,40,45,47,61,63,70,73,80,81,
%T 91,96,100,103,105,116,123,128,134,138,150,156,157,175,179,181,190,
%U 207,210,214,217,226,240,243,252,256,265,275,281,283,289,292,293,308,315
%N a(1)=1; thereafter a(n) is the smallest number > a(n-1) such that no two triples of earlier terms in arithmetic progression have the same common difference.
%C A triple consists of three distinct values in a(1), a(2), ..., a(n).
%C By definition, no arithmetic progression of length > 3 can occur in the sequence.
%C What is the density of this sequence?
%H Michael S. Branicky, <a href="/A370708/b370708.txt">Table of n, a(n) for n = 1..10000</a>
%e 4 is not a term in the sequence because it would create the arithmetic progression (2,3,4), which has the same common difference (1) as the previously occurring triple (1,2,3).
%e 9 is not a term because it would create the arithmetic progression (3,6,9), which has the same common difference (3) as the previously occurring (2,5,8).
%o (Python)
%o from itertools import islice
%o def cd(k, alst, dset, diff_dict):
%o newdset = set()
%o for a in alst:
%o if k-a in diff_dict[a]:
%o if k-a in dset:
%o return False
%o else:
%o newdset.add(k-a)
%o return True, newdset
%o def agen(): # generator of terms
%o alst, dset, an = [1, 2, 3], {1}, 3
%o yield from alst
%o diff_dict = {1: set(), 2: {1}, 3: {1, 2}}
%o while True:
%o k = an+1
%o while not (ans:=cd(k, alst, dset, diff_dict)): k += 1
%o dset.update(ans[1])
%o an = k
%o diff_dict[k] = {an-a for a in alst}
%o alst.append(an)
%o yield an
%o print(list(islice(agen(), 60))) # _Michael S. Branicky_, Mar 30 2024
%Y Cf. A003278.
%K nonn
%O 1,2
%A _Neal Gersh Tolunsky_, Mar 25 2024
%E a(15) and beyond from _Michael S. Branicky_, Mar 30 2024