A051912 a(n) is the smallest integer such that the sum of any three ordered terms a(k), k <= n, is unique.
0, 1, 4, 13, 32, 71, 124, 218, 375, 572, 744, 1208, 1556, 2441, 3097, 4047, 5297, 6703, 7838, 10986, 12331, 15464, 19143, 24545, 28973, 34405, 37768, 45863, 50876, 61371, 68302, 77917, 88544, 101916, 122031, 131624, 148574, 171236, 197814
Offset: 0
Examples
Three terms chosen from {0,1,4} can be 0+0+0; 0+0+1; 0+1+1; 1+1+1; 0+0+4; 0+1+4; 1+1+4; 0+4+4; 1+4+4; 4+4+4 are all distinct (3*4*5/6 = 10 terms), so a(2) = 4 is the next integer of the sequence after 0 and 1.
Links
- Chai Wah Wu, Table of n, a(n) for n = 0..225 (terms 0..100 from Robert Israel)
Programs
-
Maple
A[0]:= 0: S:= {0}: S2:= {0}: S3:= {0}: for i from 1 to 40 do for x from A[i-1] do if (map(t -> t+x,S2) intersect S3 = {}) and (map(t -> t+2*x, S) intersect S3 = {}) then A[i]:= x; S3:= S3 union map(t -> t+x,S2) union map(t -> t+2*x, S) union {3*x}; S2:= S2 union map(t -> t+x, S) union {2*x}; S:= S union {x}; break fi od od: seq(A[i],i=0..40); # Robert Israel, Jul 01 2019
-
Mathematica
a[0] = 0; a[1] = 1; a[n_] := a[n] = For[A0 = Array[a, n, 0]; an = a[n-1] + 1, True, an++, A1 = Append[A0, an]; A2 = Flatten[Table[A1[[{i, j, k}]], {i, 1, n+1}, {j, i, n+1}, {k, j, n+1}], 2]; A3 = Sort[Total /@ A2]; If[Length[A3] == Length[Union[A3]], Return[an]]]; Table[an = a[n]; Print["a(", n, ") = ", an]; an, {n, 0, 38}] (* Jean-François Alcover, Nov 24 2016 *)
-
Python
from itertools import count, islice def A051912_gen(): # generator of terms aset1, aset2, aset3, alist = set(), set(), set(), [] for k in count(0): bset2, bset3 = {k<<1}, {3*k} if 3*k not in aset3: for d in aset1: if (m:=d+(k<<1)) in aset3: break bset2.add(d+k) bset3.add(m) else: for d in aset2: if (m:=d+k) in aset3: break bset3.add(m) else: yield k alist.append(k) aset1.add(k) aset2 |= bset2 aset3 |= bset3 A051912_list = list(islice(A051912_gen(),20)) # Chai Wah Wu, Sep 01 2023
Extensions
More terms from Naohiro Nomoto, Jul 22 2001