login
a(n) is the smallest nonnegative integer such that the sum of any nine ordered terms a(k), k<=n (repetitions allowed), is unique.
6

%I #46 Mar 07 2024 17:07:07

%S 0,1,10,91,500,3119,13818,59174,211135,742330,2464208,7616100,

%T 19241477,56562573

%N a(n) is the smallest nonnegative integer such that the sum of any nine ordered terms a(k), k<=n (repetitions allowed), is unique.

%C This is the greedy B_9 sequence.

%H J. Cilleruelo and J. Jimenez-Urroz, <a href="https://matematicas.uam.es/~franciscojavier.cilleruelo/Papers/Bh%5Bg%5D%20sequences.pdf">B_h[g] sequences</a>, Mathematika (47) 2000, pp. 109-115.

%H Melvyn B. Nathanson, <a href="https://arxiv.org/abs/2310.14426">The third positive element in the greedy B_h-set</a>, arXiv:2310.14426 [math.NT], 2023.

%H Melvyn B. Nathanson and Kevin O'Bryant, <a href="https://arxiv.org/abs/2311.14021">The fourth positive element in the greedy B_h-set</a>, arXiv:2311.14021 [math.NT], 2023.

%H Kevin O'Bryant, <a href="https://doi.org/10.37236/32">A complete annotated bibliography of work related to Sidon sequences</a>, Electron. J. Combin., DS11, Dynamic Surveys (2004), 39 pp.

%e a(4) != 72 because 72+1+1+1+1+1+1+1+1+0 = 10+10+10+10+10+10+10+10+0.

%o (Python)

%o def GreedyBh(h, seed, stopat):

%o A = [set() for _ in range(h+1)]

%o A[1] = set(seed) # A[i] will hold the i-fold sumset

%o for j in range(2,h+1): # {2,...,h}

%o for x in A[1]:

%o A[j].update([x+y for y in A[j-1]])

%o w = max(A[1])+1

%o while w <= stopat:

%o wgood = True

%o for k in range(1,h):

%o if wgood:

%o for j in range(k+1,h+1):

%o if wgood and (A[j].intersection([(j-k)*w + x for x in A[k]]) != set()):

%o wgood = False

%o if wgood:

%o A[1].add(w)

%o for k in range(2,h+1): # update A[k]

%o for j in range(1,k):

%o A[k].update([(k-j)*w + x for x in A[j]])

%o w += 1

%o return A[1]

%o GreedyBh(9,[0],10000)

%o (Python)

%o from itertools import count, islice, combinations_with_replacement

%o def A365305_gen(): # generator of terms

%o aset, alist = set(), []

%o for k in count(0):

%o bset = set()

%o for d in combinations_with_replacement(alist+[k],8):

%o if (m:=sum(d)+k) in aset:

%o break

%o bset.add(m)

%o else:

%o yield k

%o alist.append(k)

%o aset |= bset

%o A365305_list = list(islice(A365305_gen(),10)) # _Chai Wah Wu_, Sep 01 2023

%Y Row 9 of A365515.

%Y Cf. A025582, A051912, A365300, A365301, A365302, A365303, A365304.

%K nonn,more

%O 1,3

%A _Kevin O'Bryant_, Aug 31 2023

%E a(11)-a(14) from _Chai Wah Wu_, Sep 13 2023