balance = 10000
annualInterestRate = .18
monthlyInterestRate = annualInterestRate/12
low = balance/12
high = (balance * ((1 + monthlyInterestRate))**12)/12
mid = (low + high)/2
epsilon = 0.01
newb = balance
while (high-low) >= epsilon:
newb = balance
mid = (low + high)/2
for month in range (1,13):
newb = (newb - mid) * (1 + monthlyInterestRate)
if newb <= epsilon:
high = mid
else:
low = mid
print('Lowest Payment: ') + str(round (mid,2))