<?php
$a= $_POST['a'];
$b= $_POST['b'];
$c= $_POST['c'];
function quadratic ($a, $b, $c, $root) {
{
$precision = 3; // Change this value for a different decimal places rounding.
$bsmfac = $b*$b-4*$a*$c;
if ($bsmfac < 0) { // Accounts for complex roots.
$plusminusone = " + "; $plusminustwo = " - ";
$bsmfac *=-1;
$complex=(sqrt($bsmfac)/(2*$a));
if ($a < 0){ //if negative imaginary term, tidies appearance.
$plusminustwo = " + ";
$plusminusone = " - ";
$complex *= -1;
} // End if ($a < 0)
$lambdaone = round(-$b/(2*$a), $precision).$plusminusone.round($complex, $precision).'i';
$lambdatwo = round(-$b/(2*$a), $precision).$plusminustwo.round($complex, $precision).'i';
} // End if ($bsmfac < 0)
else if ($bsmfac == 0) {
$lambdaone = round(-$b/(2*$a), $precision);
$lambdatwo = round(-$b/(2*$a), $precision);
} // End else if (bsmfac == 0)
else {
$lambdaone = (-$b+sqrt($bsmfac))/(2*$a);
$lambdaone = round($lambdaone, $precision);
$lambdatwo = (-$b-sqrt($bsmfac))/(2*$a);
$lambdatwo = round($lambdatwo, $precision);
}
if ($root == 'root1') {return $lambdaone;}
if ($root == 'root2') {return $lambdatwo;}
if ($root == 'both') {return $lambdaone. ' and ' .$lambdatwo;}
} // End function
?>