program trinome
  implicit none
  real    a, b, c
  real    delta, expr1, expr2
  complex x1, x2

             ! Valorisation des coefficients.
  !a = 1.4; b = 2.7; c = 2.9
  !a = 1; b = -1; c = -1
  a = 1; b = -4; c = 4

             ! a doit être non nul.
  if ( a == 0. ) stop "a doit être non nul."
             ! calcul du déterminant.
  delta = b*b - 4*a*c

  expr1 = -b/(2*a)
  expr2 = abs(delta)**0.5d0/(2*a)

  if( delta < 0. ) then ! racines complexes
    x1 = cmplx( expr1,  expr2 )
    x2 = cmplx( expr1, -expr2 )
    print *, "Les racines sont complexes => x1=", x1, " x2=", x2
  else                  ! racines réelles
    x1 = expr1 + expr2
    x2 = expr1 - expr2
    print *, "Les racines sont réelles => x1=", real(x1), " x2=", real(x2)
  end if
end program trinome

