%I #16 Jan 02 2023 12:30:51
%S 1,3,7,12,18,26,16,31,20,37,50,22,41,64,35,56,83,39,69,45,54,79,111,
%T 58,92,130,60,96,136,73,115,163,75,121,168,77,134,193,98,149,182,102,
%U 157,206,117,178,244,138,210,277,140,214,282,153,229,307,155,220,263
%N Lexicographically earliest sequence of positive integers such that the terms and their absolute first differences are all distinct and no term is the sum of two distinct terms.
%C The sequence of absolute first differences begins: 2, 4, 5, 6, 8, 10, 15, 11, 17, 13, 28, 19, 23, 29, 21, 27, 44, 30, 24, 9, 25, 32, 53, ... .
%H Alois P. Heinz, <a href="/A257944/b257944.txt">Table of n, a(n) for n = 1..10000</a>
%H E. Angelini et al., <a href="http://list.seqfan.eu/oldermail/seqfan/2015-May/014848.html">0-additive and first differences</a> and follow-up messages on the SeqFan list, May 13 2015
%p s:= proc() false end: b:= proc() false end:
%p a:= proc(n) option remember; local i, k, ok;
%p if n=1 then b(1):= true; 1
%p else for k do if b(k) or s(k) or (t-> b(t) or t=k)(
%p abs(a(n-1)-k)) then next fi; ok:=true;
%p for i to n-1 while ok do if b(k+a(i))
%p then ok:=false fi od; if ok then break fi
%p od;
%p for i to n-1 do s(a(i)+k):= true od;
%p b(k), b(abs(a(n-1)-k)):= true$2; k
%p fi
%p end:
%p seq(a(n), n=1..101);
%t s[_] = False; b[_] = False;
%t a[n_] := a[n] = Module[{i, k, ok}, If[n == 1, b[1] = True; 1,
%t For[k = 1, True, k++, If[b[k] || s[k] || Function[t, b[t] ||
%t t == k][Abs[a[n-1] - k]], Continue[]]; ok = True;
%t For[i = 1, i <= n-1 && ok, i++, If[b[k + a[i]],
%t ok = False]]; If[ok, Break[]]];
%t For[i = 1, i <= n-1, i++, s[a[i] + k] = True];
%t {b[k], b[Abs[a[n-1] - k]]} = {True, True}; k]];
%t Table[a[n], {n, 1, 101}] (* _Jean-François Alcover_, Jul 16 2021, after _Alois P. Heinz_ *)
%Y Cf. A005228, A030124, A095115, A140778, A257941.
%K nonn
%O 1,2
%A _Eric Angelini_ and _Alois P. Heinz_, May 13 2015
|