% quadratic(A,B,C,Ans): % Computes the solution(s) to the quadratic formula for A*X^2 + B*X + C = 0 % If coeffs are illegal, or a complex solution, then fails. quadratic(A, B, C, Ans) :- number(A), number(B), number(C), Discr is B*B-4*A*C, Discr >= 0, quad2(A, B, Discr, Ans). quad2(A, B, Discr, Ans) :- Ans is (-B-sqrt(Discr)) / (2*A). quad2(A, B, Discr, Ans) :- Ans is (-B+sqrt(Discr)) / (2*A).