For each function below, a definitions is given, and then general
solutions are provided with the special case of rate=0 solutions given
last. The solutions are in alphabetical order by derived function name.

NOTE: All of the general terms are shown as positive, but the actual value
will be positive (receiving) or negative (paying) cashflow. Input
variables must always be entered with the appropriate sign.

### Definitions

FV - Future value of the investment
NPER - Number of periods in the investment
PMT - Payment amount of the investment
PV - Present value of the investment
rate - Interest rate of the investment
type - 0 if payment is at the end of a period,
1 if payment is at the start

### Formulas If Rate Is Not 0

FV = (PMT*(1+rate*type)*(1-(1+ rate)^NPER)/rate)-PV*(1+rate)^NPER
NPER = LOG10((PMT*(1+rate*type)-FV*rate)/(PMT*(1+rate*type)+PV*rate))/
LOG10(1+rate)
PMT = (rate*(FV+PV*(1+ rate)^NPER))/((1+rate*type)*(1-(1+ rate)^NPER))
PV = (PMT*(1+rate*type)*(1-(1+rate)^NPER)-rate*FV)/(rate*(1+rate)^NPER)
rate = Must be solved using iterative processes since it is an equation
of variable order depending on the value of NPER.

### Formulas If Rate Is 0

FV = -1(PV+PMT*NPER)
NPER = -1(FV+PV)/PMT
PMT = -1(FV+PV)/NPER
PV = -1(FV+PMT*NPER)

These solutions are a derivation of the model. If you test the solutions
against the actual functions in Microsoft Excel, be sure the terms are not
forced to be integer at any point because rounding errors become more
significant as the order of the equation increases. (If you test the
function programmatically, define the terms as type double to reduce
computation errors).