MP := proc(P0,r,y,m) P0*r/m*(1+r/m)^(y*m)/((1+r/m)^(y*m)-1) end; plot_mortgage:= proc(P0, r, y, m) local principal, M, n, i, j, k; n := y * m; principal := table(); principal[0] := P0; M := MP(P0, r, y, m); for i from 1 to n do principal[i]:=(1+r/m)*principal[i-1] - M od; plot({[ [j, principal[j]] $j=0..n ], [ [k, k*M] $k=0..n ]}, style=LINE) end;