В приведенной последовательности ошибка, там не 18, а 17.
// PascalABC.NET 3.2, сборка 1363 от 17.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
var a,b,c,d:integer;
(a,b,c):=(1,1,1);
Print(a,b,c);
for var i:=1 to 20 do begin
d:=a+b+c; Print(d);
(a,b,c):=(b,c,d)
end;
Writeln
end.
Результат
1 1 1 3 5 9 17 31 57 105 193 355 653 1201 2209 4063 7473 13745 25281 46499 85525 157305 289329