PROGRAM quadeq1a ! ! Author: Br. David Carlson ! ! Date: January 3, 2000 ! ! Revised: May 2, 2004; Feb 3, 2008; Feb 16, 2008; Feb 1, 2010 ! ! This program prints out the real solution(s) to a quadratic equation. ! The user is prompted to input the coefficents a, b, c of the quadratic ! equation. The standard quadratic formula is used. ! Try it for a = 1.0, b = -1.0E6, c = 1.0. Solutions should be 1.0E6 and 1.0E-6 ! approximately. Compare with quadeq2.f90. Just for fun, try a = 0 (illegal), ! b = 1, c = 2. IMPLICIT NONE REAL::a, b, c, discriminant, root WRITE (*, *) 'Program to find real solutions of a quadratic equation' WRITE (*, *) 'Enter (nonzero) coefficient a:' READ (*, *) a WRITE (*, *) 'Enter coefficient b:' READ (*, *) b WRITE (*, *) 'Enter coefficient c:' READ (*, *) c discriminant = b * b - 4.0 * a * c IF (discriminant < 0) THEN WRITE (*, *) ' No real solutions' ELSE IF (discriminant == 0) THEN WRITE (*, *) ' One real solution: ', -b / (2.0 * a) ELSE root = SQRT(discriminant) WRITE (*, *) ' Two real solutions: ', (-b + root) / (2.0 * a), & ' and ', (-b - root) / (2.0 * a) END IF END PROGRAM