Program Library U for RPN-67 & 97

This library is intended to hold all kinds of unclassified and user-contributed programs.

Please note:
For copyright reasons, documentation is not available for download. User's manuals in PDF format for all programs listed below
are available from The Museum of HP Calculators.

You may import cards into RPN-67 or RPN-97 – no manual conversion is required.
See section "Sharing" to learn how to load cards.

Note to "Legendary-67" users:
A number of the programs provided below will not run correctly on "Legendary-67", the HP-67 simulator for iPhone. Some will not run at all.
This is due to implementation issues with that simulator. Programs are identical to those published by Hewlett-Packard, unmodified except where noted in the description. All of them have been verified to execute successfully on RPN-67 Pro.

User's Library Individual Programs
00226D - Algebraic Notation This program turns the HP-67/97 into an algebraic calculator with 10 levels of parentheses and 11 pending operations.
00239D - Random Integers Given a random seed between 0 and 1, this program will generate as many as 216 pseudo-random integers without repetition.
00251D - Head Loss in Pipes
Mar 25, 2017
To move a given volume of liquid through a pipe requires a certain amount of energy. An energy or pressure difference must exist to cause the liquid to move. A portion of that energy is lost to the resistance to flow. This resistance to flow is called head loss due to friction.
00252D - LNAP (Ladder Network Analysis Program) This program will provide the transfer function (20 log magnitude and phase) of a ladder network consisting of 1 to 4 nodes and up to 8 branches. Sketch
00297D - LC-LNAP (LC Ladder Network Analysis Program) This program will provide the transfer function (20 log magnitude and phase) of a ladder network consisting of up to seven LC branches. Sketch
00301D - Second Order Active Network Pole and Zero This program will provide the coefficients of the numerator and denominator polynomials of the transfer function H(s) = N(s)/D(s) of a generalized second order active network as shown in this Sketch. Figures: Example, EE-08A.
00315D - Curve Fitting Using Cubic Splines This program will fit a cubic spline interpolating curve through 2 to 9 equally spaced points.
00648D - Arithmetic Progressions Given three quantities of an arithmetic progression, computes the remaining two quantities.
00653D - Multiplication of Two 25-Digit Numbers This program multiplies two numbers of up to 25 digits each and returns the exact result.
00680D - Gaussian Elimination for up to 12 Equations
Apr 19, 2017
This program uses Gaussian Elimination to solve a linear system of up to 12 equations and unknowns. Documentation
00761D - Complete Calendar / Julian Date Functions This program converts Julian (Old Style, OS) or Gregorian (New Style, NS) calendars to Julian Day Number (JDN) and vice versa, computes day of week (DoW), and permits interconversion of Julian and Gregorian dates.
01602D - Fast Factor Finder With Automatic Answer Accumulation Factoring of large integers.
01650D - Random Sequence of Numbers Randomly selects all of the numbers between 1 and N, without repeating any numbers.
01683D - Open Channel Design
Mar 15, 2017
This program will aid in the design of open channel sections. The flow, channel slope, and Manning's "n" are required input, and for trapezoidal and rectangular sections the side slope is also required.
Manning's "n" Coefficients
01884D - Noughts and Crosses Written by 8-year-old Zvi Schreiber, this program allows to players to play Noughts and Crosses (or Tic-Tac-Toe.)
Picture of Zvi (from HP Key Notes, 1978)
03055D - Is it prime?
Aug 2, 2016
This program tests whether an integer N, N > 2, is prime. It also finds the lowest prime number P, n ≤ P, and if desired will continue to display successive primes indefinitely.
03250D - Doppler Effect - Interchangeable Solutions This program provides interchangeable solutions for both classical and relativistic Doppler shifts.
03949D - Relativity - Interchangeable Solutions This program provides interchangeable solutions for the basic relationships of Einstein's Special Relativity. Additionally, interchangeable solutions
for e = mc2 are provided.
03952D - How Old Are You? Given the present date and a birthdate, this program computes present age, number of days to next birthday, age on next birthday.
03994D - Fast Factorial Factor Finder Given an integer n, the program produces the prime factors of n! (n factorial) and the multiplicity of each factor.
04338D - Fast Combinations, Permutations, and Factorials This program computes combinations, permutations, and factorials for positive integers up to and including 1099.
04356D - Engine Out! Try to land an aircraft with a failed engine.
50024 - Sentential Logic For Up To 9 Unknowns Given an expression F (logical puzzle, TTL circuit, Boolean equation) in n unknown propositions and Boolean operators, the program finds all solutions of F = "true" or F = "false".
50089 - 5th Degree Equation This program solves 5th degree equations of the type x5 + ax4 + bx3 + cx2 + dx + e = 0. Roots are displayed in rectangular or polar form.
50495 - Multiple Integrals This program computes the integral of functions of 1, 2, or 3 variables over a finite interval, a rectangular region in the plane, or a parallel-epiped in 3D-space by means of the rectangle rule.
50520 - Approximation by Legendre Polynomials up to Degree 7 A set of m+1 equally spaced data points (xi,yi) (i=0..m) is approximated by a sum of Legendre Polynomials Pk(t).
See program 50813 below to turn the result into a power series with argument x.
50653 - n-th Degree Polynomial (n ≤ 18) This program finds the roots of a polynomial of up to degree 18.
50684 - Linear Systems In Up To 7 Unknowns This program solves linear systems of up to 7 unknowns.
50685 - Determinants Up To 8x8 This program calculates a determinant of degree k (k = 2...8). Its elements have to be entered only once.
50784 - Fourier Coefficients This program will compute Fourier coefficients of a function defined on a finite interval. The function may consist of up to three parts and should not be continuous.
50812 - 5x5, 4x4, 3x3 Matrices This program calculates cofactors and the determinant (if one exists) for 5x5, 4x4, and 3x3 matrices which are entered directly or by data card.
50813 - Conversion of Legendre Polynomials into Power Series This program is an optional complement to program 50520. It converts the sum of Legendre Polynomials ŷ = ∑akPk(t) into an ordinary power series
ŷ = ∑ckxk.
50925 - Linear 2nd Order Boundary-value Problem The program computes by 4th order Runge-Kutta integration the solution of the linear differential equation y" = f(x,y,y') for boundary conditions of the third kind
α1y(a) + β1y'(a) + γ1 = 0
α2y(a) + β2y'(a) + γ2 = 0
The program thus comprises boundary conditions of the first kind (β1 = β2 = 0) and second kind (α1 = α2 = 0 ).
51352 - Chebyshev Economisation Given a polynomial p(x) = ∑ak*xk (k = 0..n) over an interval I = [xL,xR] and ε ≥ 0, this program computes another polynomial q(x) = ∑bk*xk (k = 0..m) over I with m ≤ n and ε1 := Max |p(x)-q(x)| ≤ ε
51403 - Double Precision Arithmetic For Positive Integers This 3-card program provides basic arithmetic for integers of up to 18 digits. A 4-level stack and storage registers are provided
51658 - Approximation By Summing 4 Functions This program computes the coefficients A, B, C, D of the curve fitting y = Af1(x) + Bf2(x) + Cf3(x) + Df4(x) = f(x).
51772 - Texas Simulator This program allows you to use your calculator in Algebraic Notation. You can use brackets like in algebra, e.g. (3+5)x(7+12). Up to five pending operations are supported.
51892 - Literal Derivation of Functions This program finds the derivative of functions of x. Functions may include up to 10 external constants and a number of operations such as sin, cos, ln.
52046 - Square Root to 182 Digits This program calculates up to 182 digits of the square root of any integer greater than 1 and less than 8 digits.
52112 - Palindromic Numbers The program reverses the order of the digits of an integer and checks whether the integer equals the reversed one. If not, the two integers are added and the sum is inversed again, and so on until the number becomes a palindrome.
60060 - Multiply Two Numbers Up To Twenty Digits This program multiplies two numbers of up to 20 digits each and returns the exact result. It features easy number input.
60123 - New and Full Moon Date This program finds the date of New Moon and of Full Moon for any month m and any year y between 0 and 2100.
60377 - Fourier Series - Harmonic Analysis - Discrete Domain Given n data points that are samples of a periodic function y(x), this program approximates y(x) by a Fourier series of the same period as y(x). Sketch
60453 - Elliptic Lowpass Filter Design This program helps design elliptic lowpass filters, given amin (min. stopband loss), amax (max. passband loss), fb (upper passband edge), fh (upper stopband edge). If the degree is ≤ 30, the program also finds the zeros and poles of attenuation.
60454 - Factors of a Number This program will find all prime factors of a positive integer n.
60534 - Areas, Length of Arcs This program calculates areas, length of arcs, volumes and surfaces of revolution generated by curves expressed either in rectangular or polar coordinates.
60535 - Numerical Analysis of Functions This program provides several of the most useful routines that may be found in numerical analysis for the purpose of analyzing a given function of x.
60582 - Summation of an Infinite Alternating Series This program computes the sum of alternating series of the form:
y(0) - y(1) + y(2) - y(3) +... = ∑(-1)i y(i)  for i = 0...∞.

RPN-67/97 User Programs
3D Rotations
Apr 1, 2015
This program rotates a point in 3D space about a fixed coordinate system or it can rotate the coordinate system around a point.
Written by Don Phillips.
Triangle Solutions
Nov 17, 2018
This is a re-write of the HP Standard Pac program "Triangle Solutions". The main goal was to make the program more intuitive to use.
Written by Don Phillips.


These programs were written by Stefan Vorkoetter. Please visit for full documentation.
Low-Sensitivity Sallen-Key Filter Design This program addresses the problem of designing second order single op-amp low- and high-pass filters using the Sallen-Key topology.
Op-Amp Gain and Offset Stage Design This program is for designing offset-and-gain stages using a single operational amplifier.
Op-Amp Oscillator Design This program selects component values for an op-amp based relaxation oscillator, given the desired frequency and output wave form peak voltages.
Resistor Networks of 1 or 2 Nodes This program can find node voltages in networks of one or two nodes, with up to five resistors and/or constant current sources per node.

Pinball Wizard
Mar 15, 2017
This program will duplicate the play of a standard pinball machine. For details refer to this article from BYTE magazine, June 1978.

Jean-Michel Muller's Recurrence
rev. Feb 8, 2014
Demonstrates Muller's Recurrence formula, as discussed on HP Forum.
Accurate Normal Distribution
rev. Mar 23, 2017
This program evaluates various functions of the Standard Normal distribution with high accuracy.
For details see this thread on The Museum of HP Calculators.
Extended Precision Multiplication
Mar 8, 2019
This program computes the product of any two numbers if their total combined digits does not exceed 210.
Author: Ron Knapp, PPC Journal, June 1978, p.24-25
Extended Precision Division
Mar 9, 2019
This program computes the quotient of any two positive integers up to 90 digits in length. The number of digits in the answer which the program outputs is unlimited. If the quotient is a terminating decimal then the program will stop execution after it has output all of the significant digits.
Includes a data card with sample dividend/divisor.
Author: John Kennedy, PPC Journal, July 1978, p.7-8
Extended Precision Squares
Mar 13, 2019
This program calculates the square of any number up to 230 digits. The result can be the exact square carried out completely, or the square of an approximation, carried out to the same number of digits as the input.
Original program fixed to make it work.
Author: Ron Knapp, PPC Journal, June 1978, p.24 & 27
Large Factorials to 8 Places
Mar 11, 2019
This program calculates the first eight digits and the 10's exponent of the factorial of very large numbers.
Author: Bill Barnett, PPC Journal, June 1978, p.10
Large Powers and Exact Factorial
Mar 11, 2019
This program may be used to compute large powers, mⁿ, where m and n are integers, m has 5 or less digits and n has 3 or less digits.
The program may also be used to compute n! exactly where 14 ≤ n ≤ 99.
Slightly extended and therefore should not be run in vintage mode.
Author: John Kennedy, PPC Journal, July 1978, p.9
SIN or COS to 20 Places
Mar 13, 2019
This program computes the COS of any angle 0° ≤ A ≤ 90°. When SIN is desired, the angle is subtracted from 90° and then the COS is computed.
Modified in order to eliminate data card and therefore not compatible with vintage mode.
Author: Ron Knapp, PPC Journal, June 1978, p.28

Mechanical Engineering
Max Rope Tension A simple program to calculate rope tension, based on load, friction, number of parts and number of deflected pulley/sheaves. Sketch
Provided as HP-35s program by Jean-Marc Biram on HP Forum (12/8/13).

RPN Shopping
Apr 5, 2018
A little shopping app which will give you a paper tape of the prices paid, a total of the prices, total taxes paid, and a grand total. Also handles taxes.

RPN-67/97 only

These programs make use of the extended features of RPN-67/97. They must be run with setting "Enhancements" set to Max.
00251XT - Head Loss in Pipes
Mar 25, 2017
This extended version handles both imperial/US and metric units.
To move a given volume of liquid through a pipe requires a certain amount of energy. An energy or pressure difference must exist to cause the liquid to move. A portion of that energy is lost to the resistance to flow. This resistance to flow is called head loss due to friction.
01683XT - Open Channel Design (Extended)
Mar 15, 2017
This extended version handles both imperial/US and metric units.
This program will aid in the design of open channel sections. The flow, channel slope, and Manning's "n" are required input, and for trapezoidal and rectangular sections the side slope is also required.
Manning's "n" Coefficients
Jun 3, 2018
This is a simple program to handle debits and credits.
Written by Don Phillips.
Astronomical Coordinate Conversions
Apr 5, 2018
This program will convert from any of the five coordinate systems to any other system.
Written by Don Phillips.
Bayes' Theorem
Feb 13, 2019
This program computes posterior probabilities from prior probabilities.
Instructions show three examples.
Written by Don Phillips.
Easter Years
Mar 8, 2017
This program can be used to determine all years in which Easter falls on a given date in the Western/Gregorian calendar.
The range of years is 1583…4099.
Linear Equations in 9 Unknowns
Apr 19, 2017
Using Gaussian elimination, this program solves any system of linear equations in up to 9 unknowns. Input data may be entered manually, prompted by a loop, or by providing a data card. Instructions as PDF.
Normal Distribution 2
Jan 16, 2019
This program expands on the "Accurate Normal Distribution" program (above) by making it easier to use in real-world scenarios.
The program card is accompanied by a data card containing texts and constants.
Written by Don Phillips.
Random to Numerical Order
65 Notes / PPC Journal
Aug 18, 2016
This program sorts registers 1..n, where n < 25.
Ascending sort is done using regular HP-67 commands. Descending sorting uses the extended command OP SORT EXT.
Original version written by Terry Mickelson (PPC Journal, V5N1P27.)
Sudoku Solver
Tests & Demos
Dec 30, 2018
This program uses a backtracking algorithm to find the solution to a Sudoku puzzle. Top: 67/97 Pro, bottom: optimised for 67SD
Running time is in the order of minutes.

Jul 19, 2017
This program converts – given one of LT (local time), UT (universal time), GST (Greenwich mean sidereal time), or LST (local sidereal time) – to the others.
Written by Don Phillips.
Time Value of Money
Mar 14, 2018
This program handles the number of compounding periods that can be different from the number of payment periods. It also handles annuities immediate and due.
Output is printed fully annotated on paper tape.
Written by Don Phillips.
Wind Chill Factor
Feb 26, 2018
This program calculates the wind chill index.
Inputs are the air temperature (in °C or °F) and the wind velocity (in km/h, m/s, mph, or knots.)
Outputs are the wind chill index (in °C or °F) and the surface power dissipation (in W/cm².)

Copyright © 2019. All rights reserved.