A quadratic equation is a second order equation having a single variable. Any quadratic equation can be represented as ax2 + bx + c = 0, where a, b and c are constants( a can't be 0) and x is unknown variable.
The term b 2-4ac is known as the discriminant of a quadratic equation. The discriminant tells the nature of the roots. If discriminant is greater than 0, the roots are real and different. If discriminant is equal to 0, the roots are real and equal. If discriminant is less than 0, the roots are complex and different. Input coefficients of quadratic equation from user. Store it in some variable say a, b and c. Find discriminant of the given equation, using formula discriminant = (b.b) - (4.a.c). Learn - Program to find power of a number.
Discriminant(D) value | Description |
---|---|
D < 0 | We will get two complex roots. |
D = 0 | We will get two equal roots. |
D > 0 | We will get two real numbers. |
C Program to calculate factorial of a number |
C program to check year is leap year or not |
C program to check whether a number is prime or not |
C program to find sum of digits of a number using recursion |
C program to find sum of all even numbers between 1 to N |
C program to find perfect numbers between 1 to N using for loop |
C program to find perfect numbers between 1 to N using for loop |
C program to calculate power of a number |
C Program to find nPr and nCr |
List of all C programs |
I have given here a C# program to solve any Quadratic Equation. Quadratic equation is a second order of polynomial equation in a single variable.
x = [ -b +/- sqrt(b^2 - 4ac) ] / 2a
We have to find the value of (b*b - 4*a*c).
When there is an imaginary solutions, we have to use the factor i to represent imaginary part as it is a complex number.
using System;
using System.Collections.Generic;
using System.Text;
namespace SoftwareAndFinance
{
classMath
{
// quadratic equation is a second order of polynomial equation in a single variable
// x = [ -b +/- sqrt(b^2 - 4ac) ] / 2a
publicstaticvoid SolveQuadratic(double a, double b, double c)
{
double sqrtpart = b * b - 4 * a * c;
double x, x1, x2, img;
if (sqrtpart > 0)
{
x1 = (-b + System.Math.Sqrt(sqrtpart)) / (2 * a);
x2 = (-b - System.Math.Sqrt(sqrtpart)) / (2 * a);
Console.WriteLine('Two Real Solutions: {0,8:f4} or {1,8:f4}', x1, x2);
}
elseif (sqrtpart < 0)
{
sqrtpart = -sqrtpart;
x = -b / (2 * a);
img = System.Math.Sqrt(sqrtpart) / (2 * a);
Console.WriteLine('Two Imaginary Solutions: {0,8:f4} + {1,8:f4} i or {2,8:f4} + {3,8:f4} i', x, img, x, img);
}
else
{
x = (-b + System.Math.Sqrt(sqrtpart)) / (2 * a);
Console.WriteLine('One Real Solution: {0,8:f4}', x);
}
}
staticvoid Main(string[] args)
{
// 6x^2 + 11x - 35 = 0
SolveQuadratic(6, 11, -35);
// 5x^2 + 6x + 1 = 0
SolveQuadratic(5, 6, 1);
// 2x^2 + 4x + 2 = 0
SolveQuadratic(2, 4, 2);
// 5x^2 + 2x + 1 = 0
SolveQuadratic(5, 2, 1);
}
}
}
Two Real Solutions: 1.6667 or -3.5000
Two Real Solutions: -0.2000 or -1.0000
One Real Solution: -1.0000
Two Imaginary Solutions: -0.2000 + 0.4000 i or -0.2000 + 0.4000 i
Press any key to continue . . .