/tmp/clpq

yes
| ?- use_module(library('clpqr/monash')).
{compiling /freyung/christian/sicstus2.1.9.clp/library/clpqr/monash.pl...}
{loading /freyung/christian/sicstus2.1.9.clp/library/clpqr/printf.ql...}
{loaded /freyung/christian/sicstus2.1.9.clp/library/clpqr/printf.ql in module printf, 30 msec 27216 bytes}
{loading /freyung/christian/sicstus2.1.9.clp/library/clpqr/expand.ql...}
{loaded /freyung/christian/sicstus2.1.9.clp/library/clpqr/expand.ql in module expand, 40 msec 26832 bytes}
{/freyung/christian/sicstus2.1.9.clp/library/clpqr/monash.pl compiled, 90 msec 54848 bytes}

yes
| ?- expand, [library('clpqr/examples/monash/mortgage')], noexpand.
{consulting /freyung/christian/sicstus2.1.9.clp/library/clpqr/examples/monash/mortgage...}
{Warning: [Int] - singleton variables in go4/0 in lines 45-51}

>>> Sample goals: go1/0, go2/0, go3/0, go4/0
{/freyung/christian/sicstus2.1.9.clp/library/clpqr/examples/monash/mortgage consulted, 20 msec 4992 bytes}

yes
| ?- go1.
Forward: MP = 1721.65
Backward: P = 120000

yes
| ?- go2.

yes
| ?- mg(P,120,0.01,0,MP), dump([P,MP]).

{P=230038689457366504787696421844051916348685607672853885051027633046922230334437656640810235469538098584320203208140788877352356725532780953940525919735874426790409432648433950808597819868060753380384018578968864514756271928149406197791141200100/3300386894573665047876964218440519163486856076728538850510276330469222303344376566408102354695380985843202032081407888773523567255327809539405259197358744267904094326484339508085978198680607533803840185789688645147562719281494061977911412001*MP} ? 

yes
| ?- mg(P,120,0.01,B,MP), dump([P,B,MP]).

{P=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/3300386894573665047876964218440519163486856076728538850510276330469222303344376566408102354695380985843202032081407888773523567255327809539405259197358744267904094326484339508085978198680607533803840185789688645147562719281494061977911412001*B+230038689457366504787696421844051916348685607672853885051027633046922230334437656640810235469538098584320203208140788877352356725532780953940525919735874426790409432648433950808597819868060753380384018578968864514756271928149406197791141200100/3300386894573665047876964218440519163486856076728538850510276330469222303344376566408102354695380985843202032081407888773523567255327809539405259197358744267904094326484339508085978198680607533803840185789688645147562719281494061977911412001*MP} ? 

yes
| ?- mg(999, 3, Int, 0, 400), dump.

nonlin:{_B-_B*Int+_A+400=0},
nonlin:{_A-_A*Int+400=0},
{_B=599+999*Int} ? 

yes
| ?-