%N If a(n) has not yet been defined then set a(n) = least positive integer that has not yet occurred; also if a(n+1+a(n)) has not yet been defined then set a(n+1+a(n)) = a(n).
%C a(n) = A094173(n) for n<16.
%e a(1) = 1 because this is the first undefined place and unused number. This "throws" a copy of the 1 forward to a(1+1+1)=a(3)=1. a(2)=2 uses the next new integer, and this copies the 2 forward to a(2+1+2)=a(5)=2. a(3) is already defined then, and a(4) receives the hitherto unused 3.
%o SIZE = 300
%o a = [-8]*SIZE
%o for n in range(SIZE):
%o if a[n]==-8: # if a[n] is undefined yet
%o if n+1+a[n]<SIZE and a[n+1+a[n]]==-8: # if a[n+1+a[n]] is undefined yet
%o print(a[n], end=',')
%Y Cf. A094173.
%Y Cf. A214371.
%A _Alex Ratushnyak_, Jul 14 2012