El código es un HORROR, existen Vectores.
Debería ser algo como lo siguiente
//Todas las indicaciones vienen basadas en el código de las librerías Estand. de Del.
//pon palabras reservadas con minúsculas, ya se notan por color
//No hagas espacios de más despues de while
var
i: Integer; // la agregé yo
while r6 <>0 do
begin
p:=p+1;
r0:=Y1;
for i := 1 to 6 do //comienza un bucle de 6 ejecuciones
r[i]:=(p*r[i-1])+y[i+1]; //reemplaza a 6 lineas tuyas
if (p=11) then p:= p-22;
end; //while
Corregí usando vectores en lo posible y explica tambien que es lo que hace tu codigo y que debería devolver
While not(r6 =0) do
¿Me pregunto si esto se termina en algun momento?
por cierto, da lo mismo pero..... en vez de hacer "not =" se pueda hacer "<>".
while r6 <> 0 do