A Novel Method for Multiplying Large Numbers

Paper/Pencil/Calculator and Computer Methods

Manual multiplication of large numbers is a slow and tedious method fraught with errors. The use of a calculator especially a ten digit calculator is no different. Extremely large numbers are usually approximated using exponential notation and are of no use if an accurate description is desired. One can always turn to online methods using online calculators which can usually work with some pretty large numbers but, however, there is a limit to what that type of calculator can handle. Although there are probably computers that can handle such numbers they might not be available to the average joe.

However, there is a way around this. Large numbers can indeed be multiplied together without a computer and only require paper, pencil and an ordinary ten digit calculator. What I call PPC. This is the subject of this article. A completely new way of multiplying numbers by arranging the numbers into groups of five and, thus, making it amenable to calculator usage. All that is required is again paper, pencil and a hand held calculator. The article shows the method as well as computer programming methods following the same algorithm which are capable of outputting numbers up to 50 digits. The programs themselves, moreover, are straightforward and can be simply modified to handle more digits.

The Algorithm

We'll take the simple example in Table I, a ten digit number easily handled by a calculator and square and multiply it by another 10 digit number. The two 2 ten digit numbers are bolded on line one and two, separated into groups of 5.

Table I (x×y)
9999999999
1234567890
6788932110
6788932110
1234487655
1234487655
12345678898765432110

The columns are set in such a way that the number of 5 digit numbers follows the pattern of Table II. While similar to a Pascal triangle in structure, the triangle just lays out the odd numbers without adding them as in the Pascal, although the second line is identical to the third in the Pascal. Moreover, the triangle can be subjected to summation of its diagonals just like in the Pascal to provide a sequence, but one that is different from the Pascal triangle. In addition, in this column additive triangle (CAT) each column consists of 1,3,5,7,9,..., all of the odd numbers. This pattern will be evident in Table III as well as the computer coded examples.

Table II (CAT)
11
1331
135531
13577531
1357997531

Table III shows the layout of the four arrays, the numbers corresponding to the array index starting at 0. The M[] array is set in zigzag fashion, while the P[] array is printed backward because that's the way that the numbers are stored. The number of entries in each column correspond to the 4th row in Table II.

Table III (S×R→M)
R3R2R1R0
S3S2S1S0
M1M0
M3M2
M5M4
M7M6
M9M8
M11M10
M13M12
M15M14
M17M16
M19M18
M21M20
M23M22
M25M24
M27M26
M29M28
M31M20
P7P6P5P4P3P2P1P0

Multiplication of Larger Numbers using Computer Code

The calculations for multiplying four numbers (in groups of 5) and generating a table of at most 40 digits using JS is stored in computer code I, while for five numbers, generating a table of at most 50 digits, it's stored in computer code II. Two alternative codes where the Tableplace() function is called once for the initial row of each group and the the rest of the rows are generated within this function are: computer code III and computer code IV. This cuts down on the number of times Tableplace() is called. A parameter for printing out the number of rows, Numrpg, is now part of the parameter list. Note that these files are txt files and must first be converted to html files if one wishes to input his or her own numbers.

We can generate a computer program that will give the above results with an even greater number of columns. The way the program is set up is as follows:

Computer Programming Examples

Again the leading "0"s are left in all columns to show that they are part of the number.

This concludes this article.

Go back to homepage.


Copyright © 2021 by Eddie N Gutierrez. E-Mail: enaguti1949@gmail.com