public double CalcPayment()
return Math.Round((loanAmount) * ((loanRate/12) * Math.Pow(1 + (loanRate/12), loanTerms)) / (Math.Pow(1 + (loanRate/12), loanTerms) - 1), 2);
public double CalcTotalCost()
return Math.Round(((loanAmount) * ((loanRate/12) * Math.Pow(1 + (loanRate/12), loanTerms)) / (Math.Pow(1 + (loanRate/12), loanTerms) - 1))*loanTerms, 2);
public double CalcInterest()
return Math.Round((((loanAmount) * ((loanRate/12) * Math.Pow(1 + (loanRate/12), loanTerms)) / (Math.Pow(1 + (loanRate/12), loanTerms) - 1))*loanTerms)-loanAmount, 2);
public Mortgage(double p, double i, int n)
public static void Main()
Mortgage mortgage = new Mortgage();
Console.WriteLine("Please Enter the loan amount: ");
double.TryParse(Console.ReadLine(), out p);
Console.WriteLine("Please Enter the loan rate in decimal form (eg. 4.5% = .045): ");
double.TryParse(Console.ReadLine(), out i);
Console.WriteLine("Please Enter the loan terms (in months): ");
double.TryParse(Console.ReadLine(), out n);
Console.WriteLine("------------------------------------------");
Console.WriteLine("Your monthly payment would be: $" + mortgage.CalcPayment());
Console.WriteLine("Your total cost would be: $" + mortgage.CalcTotalCost());
Console.WriteLine("Your total interest paid would be: $" + mortgage.CalcInterest());