Var
x1, y1, x2, y2, x3, y3, a, b, c, p, s: real;
begin
readln(x1, y1, x2, y2, x3, y3);
a:=sqrt(sqr(abs(x1-x2))+sqr(abs(y1-y2)));
b:=sqrt(sqr(abs(x2-x3))+sqr(abs(y2-y3)));
c:=sqrt(sqr(abs(x1-x3))+sqr(abs(y1-y3)));
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
if s=0 then write('Лежат на одной прямой') else write('Не лежат на одной прямой');
end.
Объясняю. Образуем из этих трёх точек треугольник. a, b, c - стороны треугольника. p - полу-периметр треугольника. s - площадь треугольника. Площадь вычисляется по формуле Герона. Если площадь равна нуля, значит точки лежат на одной прямой. Если нет - не лежат.