public static void Main(string[] args)
const string expression = "((a + b)² - (a² + 2ab)) / b²";
Console.WriteLine(expression);
Console.WriteLine("Invalid value of b");
var result = EvaluateExpression(a, b);
Console.WriteLine(@$"a={a};
{expression} = {result}");
private static double GetDouble(string varName)
Console.WriteLine($"Enter the number '{varName}', using a '.' for fractional part");
while (!double.TryParse(Console.ReadLine(), NumberStyles.Float | NumberStyles.Integer, CultureInfo.InvariantCulture, out value))
Console.WriteLine("Wrong number format, please try again");
private static double EvaluateExpression(double a, double b) =>
(Math.Pow(a + b, 2) - (Math.Pow(a, 2) + 2 * a * b)) / Math.Pow(b, 2);