The Museum of HP Calculators

Direct Reduction Loans Sinking Fund for the HP-67

This program is Copyright © 1976 by Hewlett-Packard and is used here by permission. This program was originally published in the HP-67 Business Decisions Pac.

This program is supplied without representation or warranty of any kind. Hewlett-Packard Company and The Museum of HP Calculators therefore assume no responsibility and shall have no liability, consequential or otherwise, of any kind arising from the use of this program material or any part thereof.

 Direct Reduction Loans Sinking Fund Shift Start Label <>n <>i <>PMT <>PV <>FV(BAL) Key A B C D E

Overview

In the diagram above, the horizontal line represents the time period(s) involved, while the arrows represent the cash flows.

This program may be used to solve problems when payments are made at the end of the compounding periods (ordinary annuity). Direct reduction loans and mortgages are typical examples.

The following variables may be inputs or outputs:

• n is the number of compounding periods. (For a 30 year loan with monthly payments n = 12 x 30 = 360.)
• i is the periodic interest rate expressed as a percent. (For other than annual compounding, divide the annual percentage rate by the number of compounding periods in a year, i.e., 8% annual interest compounded monthly equals 8/12 or 0.667%.)
• PMT is the periodic payment amount.
• PV is the present value of the cash flows.
• FV is the future value of a series of cash flows.
• BAL is the balloon payment or remaining balance at the end of a series of payments.

In this program, A is used to input/calculate n, B to input/calculate i, C to input/calculate PMT, D to input/calculate PV, and E to input/calculate FV(BAL). After all inputs have been entered, it is possible to calculate the unknown value by pressing the appropriate user definable key.

When the START function (f A) is executed, it sets PMT, PV, and BAL to zero (n and i are not affected). START provides a safe, convenient, easy to remember method of preparing the calculator for a new problem. It is not necessary to use START between problems containing the same combination of variables. For instance, any number of n, i, PMT, PV problems involving different numbers and/or different combinations of known values could be done in succession without using START. Only the values which change from problem to problem would have to be keyed in. To change the combination of variables without using START, simply input zero for any variable which is no longer applicable. To go from n, i, PMT, PV problems to n, i, PMT, FV problems a zero would be input (0 D) for PV.

START should always be used immediately after loading Direct Reduction Loans/Sinking Fund.

Iterative interest solutions are accurate to the number of significant figures of the display setting. It is possible to obtain more significant figures by changing the display setting from DSP 2 to DSP 3, DSP 4, DSP 5, etc. before calculating. However, time for solution increases as accuracy is improved.

Problems with negative balloon payments may have more than one mathematically correct answer (or no answer at all). While this program may find one of the answers, it has no way of finding or indicating other possibilities.

The values for n, i, PMT, PV, and FV(BAL) are stored in registers A--E respectively. They may be displayed by recalling the appropriate register.

Instructions

 Step Instructions Input Data/Units Keys Output Data/Units 1 Load side 1 and side 2. 2 Initialize (START) INV f A 0.00 3 Input the known values: Number of periods n A n Periodic interest rate i (%) B i (%) Periodic payment PMT C PMT Present value PV D PV Future value, balloon payment, or balance FV(BAL) E FV(BAL) 4 Calculate the unknown value: Number of periods A n Periodic interest rate B i (%) Periodic payment C PMT Present value D PV Future value, balloon payment, or balance E FV(BAL) 5 For a new case, go to step 3 and change appropriate values. 6 For a new type of problem, go to step 2.

Example 1

A borrower can afford a \$368.21 monthly principal and interest payment on a 30 year, 9.25% mortgage. What is the largest such mortgage he can obtain?

Keystrokes                     Outputs
f A
368.21 C
30 ENTER 12 x A                360.00 (total monthly periods
in mortgage life)
9.25 ENTER 12 ÷ B                0.77 (monthly interest rate)
D                            44757.63 (mortgage amount)

Example 2

A 30 year, \$50,000 mortgage has monthly payments of \$320, including principal and interest. What is the annual percentage rate?

Keystrokes                     Outputs
f A
30 ENTER 12 x A
50000 D
320 C B                          0.55 (monthly percentage
rate)
12 x                             6.62 (annual percentage
rate)

Example 3

An investor wishes to purchase a mortgage with a balloon payment to yield him 14% per annum. What maximum price can he pay if there are 60 monthly payments of \$250 and a \$10,000 balloon at the end of year 5? If he purchases the mortgage for \$14,500, what annual yield is he achieving?

Keystrokes                     Outputs
f A 14 ENTER 12 ÷ B
60 A 250 C 10000 E
D                           15730.27 (maximum price to pay
to yield 14%)
14500 D B                       1.39 (monthly percent yield)
12 x                           16.67 (annual % yield at
\$14,500 price)

Example 4

You have an opportunity to purchase a \$10,000, 8% note which has a term of 6 years (monthly payments). What should you pay for the note if you wish to achieve a 13% yield?

Keystrokes                     Outputs
f A 10000 D
8 ENTER 12 ÷ B
6 ENTER 12 x A C                 175.33 (monthly payment)

Now determine the purchase price of the note.

13 ENTER 12 ÷ B
D                               8734.26 (purchase price)

Example 5

A borrower is charged 2 points for the issuance of his mortgage and note. If the mortgage amount is \$60,000 for 30 years, and the interest rate is 8.75% per year, with monthly payments, what annual percentage rate (APR) is the borrower paying? (1 point is equal to 1% of the mortgage amount.)

First calculate the periodic payment amount.

Keystrokes                     Outputs
f A 60000 D
30 ENTER 12 x A
8.75 ENTER 12 ÷ B C             472.02 (monthly payment)

Now calculate the mortgage amount less fees.

RCL D 2 % - D                 58800.00 (effective amount borrowed)

To obtain the annual percentage rate, press:

B 12 x                            8.97 (% APR)

Example 6

You are setting up a travel fund for a trip to Australia. If you start in a month, depositing \$150 per month in a 5.5% account, compounded monthly, how long will it take from today to accumulate \$2500 for the trip?

Keystrokes                     Outputs
f A 150 C
5.5 ENTER 12 ÷ B
2500 E A                        16.10 months

Example 7

A corporation has determined that a certain piece of equipment costing \$50,000 will be required in 3 years. Assuming a fund paying 7% compounded quarterly is available, what quarterly payment amount must be placed in the fund in order to cover this cost if savings are to start at the end of this quarter?

Keystrokes                     Outputs
f A 50000 E 3 ENTER
4 x A 7 ENTER
4 ÷ B C                         3780.69 (quarterly payment)

The Program

LINE  KEYS
001  *LBL A     n->RA
002   STO A
003   F3?       Digit entered?
004   RTN
005   GSB 0
006   RCL E
007   LST X
008   -
009   RCL D
010   LST X
011   -
012   ÷
013   LN
014   RCL 7
015   LN
016   ÷
017   STO A
018   RTN
019  *LBL C     PMT->RC
020   STO C     Digit entered?
021   F3?
022   RTN
023   1         Store dummy 1 for PMT.
024   STO C
025   GSB 0
026   1/X       Solve for PMT and store in RC.
027   RCL D
028   roll up
029   -
030   x
031   STO C
032   RTN
033  *LBL D
034   STO D     PV->RD
035   F3?       Digit entered?
036   RTN
037   GSB 0     Solve for PV and store in RD.
038   +
039   STO D
040   RTN
041  *LBL E     FV(BAL)->RE
042   STO E
043   F3?       Digit entered?
044   RTN
045   GSB 0
046   RCL D     Solve for FV(BAL) and store in RE
047   X<>Y
048   -
049   RCL 8
050   ÷
051   STO E
052   RTN
053  *LBL 0     Store FV(BAL) flag.
054   CF 1      If PV=0 set FV(BAL) flag.
055   RCL D
056   X=0?
057   SF 1
058   1         i/100->R9
059   RCL B
060   %
061   STO 9
062   +         (1+i)->R7
063   STO 7
064   RCL A     (1+i)-n->R8
065   CHS
066   YX
067   STO 8
068   RCL E
069   x         1-(1+i)-n->R4
070   1
071   RCL 8
072   -         Calculate +/-(PMT/i) and store in R3
073   STO 4
074   RCL C
075   RCL 9
076   ÷
077   F1?
078   CHS
079   STO 3     +/-PMT/i[1-(1+i)-n]
080   x
081   RTN
082  *LBL a     Start by clearing PMT, PV, FV(BAL) registers.
083   CLX
084   STO C
085   STO D
086   STO E
087   RTN
088  *LBL B
089   STO B     i->R8
090   F3?       Digit entered?
091   RTN
092   0
093   STO B     Clear R8 for some of i terms.
094   2
095   1         Store address of R8 in RI for indirect access.
096   STO I
097   RCL E
098   RCL A
099   RCL C
100   x         Start guess of i:
101   +             nPMT + FV(BAL)
102   RCL D     If PV = 0 GTO FV(BAL) guess
103   X=0?
104   GTO 3     PV guess for i:
105   -             (nPMT+FV(BAL)-PV)/n
106   RCL A
107   ÷
108   RCL D     and recall PV.
109   GTO 4
110  *LBL 3     FV(BAL) guess for i numerator:
111   RCL E
112   LST X
113   -         2(FV(BAL)-nPMT)
114   ENTER
115   +
116   RCL A     and denominator
117   1         (n-1)2PMT+FV(BAL)
118   -
119   x2
120   RCL C
121   x
122   RCL E
123   +
124  *LBL 4     Guess for i
125   ÷         If guess < -0.9; use -0.9
126   .         for guess
127   9
128   CHS
129   X<=Y?
130   X<>Y
131   GSB 5
132   X=0?      If guess = 0 stop
133   RTN
134  *LBL 6
135   GSB 0
136   +         Calculate f(i)
137   F1?
138   CHS
139   RCL D
140   -
141   RCL 8
142   RCL A
143   RCL 7    Calculate f'(i)
144   ÷
145   x
146   F1?
147   CLX
148   STO 6
149   F1?
150   roll dn
151   F1?
152   LST X
153   RCL 4
154   RCL 9
155   ÷
156   -
157   RCL C
158   x
159   RCL 9
160   ÷
161   RCL 6
162   RCL E
163   x
164   -         f(i)/f'(i)
165   ÷
166   CHS
167   GSB 5
168   RCL B
169   ÷         If value != 0, loop again
170   RND
171   X!=0?
172   GTO 6
173   RCL B     Stop and display
174   RTN
175  *LBL 5
176   EEX       Convert i to % and add to content of RB
177   2
178   x
179   STO + (i)
180   RTN
181   R/S

R3  +/-(PMT/i)
R4  [1-(1+i)n]
R6  n(1+i)-n-1
R7  (1+i)
R8  (1+i)-n
R9  i/100
A   n
B   i
C   PMT
D   PV
E   FV(BAL)
I   21