public static void Main()
decimal SavingPerMonth = 0;
decimal CurrentAgeMonths = 50 * 12;
decimal PensionAgeMonths = 68 * 12;
decimal DesiredIncome = 3000;
if (((PensionAgeMonths - CurrentAgeMonths) * SavingPerMonth) + Capital > DesiredIncome)
decimal TotalPossibleSavings = Capital + ((PensionAgeMonths - CurrentAgeMonths) * SavingPerMonth);
decimal RetireEarlyMonths = Math.Floor(TotalPossibleSavings / DesiredIncome);
decimal TimeToRetirement = (PensionAgeMonths - RetireEarlyMonths) - CurrentAgeMonths;
decimal SavingAtRetirement = (TimeToRetirement * SavingPerMonth) + Capital;
Console.WriteLine("Total Possible Savings = " + TotalPossibleSavings);
Console.WriteLine("Possible early months = " + RetireEarlyMonths);
Console.WriteLine("Months to early retirement = " + TimeToRetirement);
Console.WriteLine("Savings to possible retirement = " + SavingAtRetirement);
Console.WriteLine(RetireEarlyMonths + " months you get " + Math.Floor((SavingAtRetirement / RetireEarlyMonths)));
while ((SavingAtRetirement / RetireEarlyMonths) < 3000 && RetireEarlyMonths > 0)
RetireEarlyMonths = RetireEarlyMonths - 1;
TimeToRetirement = (PensionAgeMonths - RetireEarlyMonths) - CurrentAgeMonths;
SavingAtRetirement = (TimeToRetirement * SavingPerMonth) + Capital;
if (RetireEarlyMonths < 1)
Console.WriteLine(RetireEarlyMonths + " months you get " + Math.Floor((SavingAtRetirement / RetireEarlyMonths)));