The types of calculations performed by lightning calculators were historically quite limited, notable mainly for the size of the numbers and the speed at which they were manipulated. But remember that the questioner had to verify every calculation by hand, making higher powers and roots (particularly inexact roots) much less feasible. The dawn of calculators and computers propelled some of these tasks into hitherto uncharted territories such as 13th or 23rd roots, deep roots of inexact powers, and so forth, much of it supported by more sophisticated mathematics. Here we will review the methods of calculation used in the past, many of them not commonly known, as well as other techniques that are relatively new.
The traditional demonstrations of lightning calculators fall into the following categories:
- Fast addition of numbers (not that common, actually)
- Fast multiplication of multi-digit numbers (very common, and with more success than Superman demonstrates)
- Fast division (uncommon)
- Factoring of large numbers or finding them to be prime (common)
- Extraction of roots of perfect powers (very common)
- Extraction of roots of numbers that are not perfect powers (rare)
- Raising numbers to various powers (common)
- Finding logarithms of numbers (uncommon)
- Finding one or more sums of four squares that add to a given number (occasional)
- Calendar calculations (exceedingly common)
- Compound interest (isolated)
In addition, there are more modern methods that can be used, particularly for approximating logarithms, exponentials and trigonometric functions, that have been constructed for those interested in these types of problems.
The main techniques will be highlighted in sections below devoted to each of these tasks. It is important to realize that lightning calculators were highly individual in how they approached these tasks, and most calculators have such a vast knowledge of number facts that answers were often obtained immediately from memory or following only slight adjustment. As one example, Klein learned through experience the multiplication table through 100×100 and used it to great advantage doing cross-multiplication in 2-digit by 2-digit chunks. He also knew squares of integers up to 1000, cubes up to 100, and roughly all primes below 10,000. He also knew logarithms base 10 to 5 digits for integers up to 150.
Sometimes calculators used a mnemonic scheme, often of their own design, to aid in remembering these number facts. Mnemonics is the association of digits with images or letters in a sentence. Arthur Benjamin presents in his book, Secrets of Mental Math, the mnemonic scheme he uses to remember intermediate values during long mental calculations, based on a phonic method a few hundred years old. I ran across a chapter from a 1910 book that uses this same scheme to encode the cubes of all 2-digit numbers, and on a lark I modernized its quaint phrases and extended its scope to provide squares as well, and I wrote it all up in a paper found here.
But the more involved calculations also involve algebraic methods deduced by the performer through familiarity with the processes or, increasingly today, by consciously applying mathematical relations, number theory and numerical approximations. Some of the methods described below receive greater attention in Smith’s book, while others are described in greater detail in other references. An excellent source for the world records in various categories of memorization and mental calculation can be found here.
I might as well mention here that there is a movement to assign discovery of quite a few of these algebraic techniques to an ancient system of Vedic Mathematics rediscovered between 1911 and 1918 from the Sanskrit texts known as the Vedas by Sri Bharati Krsna Tirthaji (1884-1960) and expressed as sixteen Sutras. See here for an overview of these beliefs. For a detailed presentation of these Sutras as well as outright criticism of the supposed origin of them and their overall effectiveness as an educational tool, see here. In my opinion, and I know this is not a popular one in some circles, systems such as this (and including resurgent schools for teaching the abacus and soroban in China, Japan and elsewhere) divert students’ time in much the same way as the “New Math” introduced in U.S. schools in the 1950’s and 1960’s.
It might seem that rapid addition would be a common demonstration for lightning calculators, but Smith notes that lightning calculators, driven by their interest in numbers, typically found addition and subtraction too dry for study. Inaudi and Bidder would add several multi-digit numbers, and there were a few more who specialized in just this task, but their methods were necessarily straightforward. The common theme seems to be grouping numbers into groups of digits to add separately, minding any carries or borrows as needed. I remember reading somewhere of a tip for adding a column of 3-digit numbers such as a grocery bill that proved a surprisingly helpful technique. In such a case it’s easier to add the tens and ones digits as groups and then add the hundreds digits at the end. So say you are presented with a column of numbers such as
Adding them as single digits can be slow and adding them as 3-digit numbers can be confusing, so we might add 45+14=59, add 52=111, add 81=192, add 96=288 (where 96=100-4), add 17=305. Then add 2+8+1+6+3=20 and with the carry of 3 we have 2305 as the sum. Now this might be a lot slower for you than just adding the columns in individual digits, but a practiced calculator can add 2-digit numbers in a flash (or 3-digit numbers and so on), so with some development this can be a faster alternative.
I haven’t heard of any lightning calculator who didn’t or doesn’t perform multiplications of multi-digit numbers. Many of them had such an intimate knowledge of factors and multiples built up after years of practice that often such a problem could be re-arranged into a known one plus some correction such as an additional factor. Some common products produce numbers that are easy to multiply by another number, so knowing such convenient products can be a real help. For example,
67 x 3 = 201 23 x 13 = 299 19 x 21 = 399
17 x 47 = 799 89 x 9 = 801 53 x 17 = 901
37 x 27 = 999 7 x 11 x 13 = 1001 23 x 29 x 3 = 2001
31 x 43 x 3 = 3999 and so forth…
The two most common techniques used by lightning calculators for mental multiplication are adding partial products and performing cross-multiplication on the digits.
Partial products are the combinations of the individual digit multiplications, and they are added up from left to right to find the product:
46 x 58 = 40×50 +40×8 + 6×50 + 6×8
= 2000 + 320 + 300 + 48
The terms are added as they are calculated, so when 40×8 is calculated, it is added to 2000 to get 2320, then 6×50 is added to get 2620, and finally 6×8 is added to yield 2668. There is only one running total to remember.
Cross-multiplication does not involve these large sums. The digits of the product are found one at a time, but the procedure has the disadvantage that the digits are produced from right to left, so they must be remembered and reversed to recite the answer verbally. Typically the digits are written as they are obtained from right to left. In this method the combinations of single-digit products that contribute to each digit of the result are added, including carries. For example,
46 x 58:
6×8 = 48, or 8 with a carry of 4
4×8 + 6×5 + 4 = 66 , or 6 with a carry of 6
4×5 + 6 = 26
Both of these methods have the advantages that they can produce results very quickly with practice, they scale up very well with larger multipliers, and they don’t require any multiplications beyond one-digit by one-digit (Klein used 2-digit by 2-digit cross-multiplication). They are simple and very practical methods.
There are various ways to simplify multiplication based on the properties and relationships of the numbers involved. We might notice in a problem that one of the multipliers is quite near a very round number, say, a multiple of 10 or 25. We can multiply by that round number instead and adjust for the difference at the end. For example,
29 x 34 = 30×34 − 34
To find 30×34 here, we would multiply from left to right: 30×30 + 30×4. Now if a multiplier exceeds a multiple of 10 by the amount of the multiple, we can use the multiple of 10 and add 1/10 of that result. If a multiplier lies below the multiple of 10, we subtract 1/10 of the result. Multiples of 11 and 9 have these properties.
33 x 62: Find 30×62 = 1860, then 1860 + 186 = 2046
36 x 62: Find 40×62 = 2480, then 2480 − 248 = 2232
We would not subtract 248 directly in the last example, but rather subtract 250 and add 2, a slightly different view of subtraction that makes a large practical difference.
We can also look at a number as a collection of convenient groupings. For example, we can multiply 124726132 by 5 by first halving each even grouping in the first number and then appending zero:
12 4 72 6 132 x 5 = 6 2 36 3 066 0 or 8 32 6 31 x 5 = 4 16 3 15 5
Multiplying a number by 15 can be done by multiplying by 10 and adding half the result. We can think of adding a zero, and then adding half of each even grouping to itself, working left to right and keeping the same number of digits in the grouping as it started with. If a grouping ends up with an additional digit, the upper digit is added to the grouping to the left. The presentation below makes the calculation look more difficult than it actually is—the result is generated smoothly from left to right, with perhaps a correction for a carry from the next grouping, as with the carry of 1 from the (72+36) grouping below to the group on its left:
12 4 72 6 132 x 15 = (12+6) (4+2) (72+36) (6+3) (132 + 66) 0
= 18 7 08 9 198 0
Multiplication by 25, or 100/4, can be thought of as appending two zeros and dividing by 4. Multiplying by 50 can be done as 100/2, 75 as 300/4, 125 as 1000/8, and so forth.
These are reasonable and readily understood concepts that involve looking at the whole number rather than individual digits. This is a mental shift that is subtle but critical in developing a number sense. Methods like these are also more general than they seem at first, because if they almost apply, we can use them on nearby numbers and then apply a correction at the end.
These methods all involve thinking about the properties of numbers, so they appeal to me as methods for somewhat specific circumstances. However, there is a type of method that is useful in a very wide variety of multiplications. When the multipliers are a distance c and d from a round number, their product can be represented by the product of the round number and the sum of the round number and the two differences, with the product of the two differences added at the end as a small correction. There does not seem to be a consistent name for this method in the literature; I call it the Anchor Method:
(a+c)(a+d) = a(a+c+d) + cd Anchor Method
This is much easier to use than it might appear, as we will see, and a knack for it is easily developed with a small amount of practice. The concept can be taught to children. I visualize “anchoring” one multiplier at the round number, and then literally stringing out the differences from the original numbers from this anchor to find the other multiplier. It will turn out that the original multipliers move outward, their product will be less than the original, so the correction at the end needs to be added, and if they move inward, the correction is subtracted. This corresponds to the intuitive (and correct) concept that a square has the greatest area for a given sum of side lengths; the rectangle produced by shifting length on a square from one side to another side will have a smaller product of the two sides because (x+n)(x−n) = x2 − n2 is always less than x2.Below are three representative problems and a visualization of each solution. (The numbers are shown on vertical number lines because I “see” number lines as vertical rather than horizontal. I remember having difficulty learning the number line concept in grade school, and I believe it was due to think a vertical layout would be much more intuitive to children (and me) who think numbers go up as they get higher.)
12 x 13 = 10 x 15 + 2 x 3 = 156
18 x 16 = 20 x 14 + 2 x 4 = 288
18 x 24 = 20 x 22 − 2 x 4 = 432
An anchor of 100 is very common, say, 842 = 100×68 + 162. With 100 as the anchor, we can find 68 as the last digits of 84 doubled rather than by finding the difference between 100 and 84 and subtracting this from 84.
If the numbers to multiply are far apart, though, we can end up with a large correction term cd. There are a few strategies to bring the multipliers nearer to each other:
1. Subtract one number from a very round number (or add it to a very round number) to bring it closer to the other number:
23 x 67 = 23(100−33) = 2300 − 23×33 = 2300 − (20×36 + 3×13)
2. Divide or multiply one number by a low integer and add a correction:
23 x 67 = 23×33x2 + 23 = 2(20×36 + 3×13) + 23
3. Break one number into two convenient parts:
23 x 67 = 23(50+17) = 2300/2 + 23×17 = 1150 + 202 − 32
In the end we can use our creativity and experience to manipulate the calculation as we wish.
One of the most powerful tools in mental calculation is converting the multiplication of two different numbers into the square of the average minus the square of the distance to the average. This is shown by the Midpoint Method, an algebraic identity:
(a+c)(a−c) = a2 − c2 Midpoint Method
where a is the average of the two numbers, (a+c) is one of the numbers, and (a−c) is the other number. This is algebraically equivalent to the Anchor Method formula if d = -c, or in other words when the anchor is midway between the two multipliers. The choice of the anchor as the midpoint or some other number depends on the problem and on personal preferences, but there is no doubt that using the midpoint is a very common technique. For example,
28×32 = 302 − 22
52×78 = 652 − 132
or, considering the first problem in this section,
46 x 58 = 522 − 62
Less convenient multipliers can be manipulated in a number of ways to use this technique. We might have the case where there is no midpoint of the two multipliers—here we can adjust one of the multipliers by 1, do the calculation, and then provide a correction to account for the original adjustment, as for 28×33 = 28×32 + 28 = 302 − 22 + 28, but in this particular case it may be easier to use the Anchor Method from the last section: 28×33 = 30×31 − 2×3.
To calculate squares we might use the Midpoint Method in reverse. We can split a square into the product of two numbers equidistant from the original number, and add the square of that distance, again one scenario of the Anchor Method. For example, let’s continue with one of our examples from earlier:
52×78 = 652 − 132
Now we find 652 by spreading 65 in both directions by an equal amount and adding the square of that amount. Here a good spread is by 5, yielding 652 = 60×70 + 25 = 4225. Similarly, 132 = 10×16 + 9 = 169. So we can turn a general multiplication into a square plus a small correction, and we can turn that square into an even simpler multiplication and one more small correction if needed. Again, I find it helpful to remember that the average squared will always be larger than the spread numbers multiplied, so when collapsing two multipliers to a square you subtract the correction, and when spreading a square to the product of two numbers you add the correction. These transformations become automatic and very fast after a bit of practice.
Many of you may recognize in the example of 652 the trick for squaring numbers ending in 5: multiply the number left of the units digit by that number plus one, and then append 25, as in 6×7 | 25 = 4225. Now we can see why that works.
The Midpoint Method described earlier applies to larger numbers, e.g., 244×376 = 3102 − 662. But 3102 is really just a square of a two-digit number followed by two zeros—what if we had ended up with a three-digit square here? Again we split the square into two numbers equidistant from the original number, adding the square of that distance. To illustrate, 244×382 = 3132 − 692 = [300×326 + 132] − 692, and we end up with a simple calculation if we know the two-digit squares.
And there are indeed a variety of other techniques for finding squares. Most of these involve expressing the number to be squared as the sum of two other numbers that are more easily squared, using the Binomial Expansion for Squares:
(a+b)2 = a2 + 2ab + b2 Binomial Expansion for Squares
342 = (30+4)2 = 302 + 2×30x4 + 42 = 1156
692 = (70−1)2 = 702 − 2×70x1 + 12 = 4761
3132 = (300+13)2 = 3002 + 2×300x13 + 132 = 90000 + 7800 + 169 = 97969
In another application of the binomial expansion, one of the most intriguing and useful techniques easily finds the square of a number near 50. Here we add the difference from 50 to 25, multiply by 100, and add the difference squared. If the number is within 10 of 50, we can add the difference to 25 and simply append the distance squared rather than adding it. Let’s use the vertical bar “|” to separate two-digit groups. Note that if we end up with a 3-digit result in a grouping, its most significant digit would be added to the group to its left. In this notation,
(50+a)2 = (25 + a) | a2
522 = (25+2) | 22 = 2704
442 = (25−6) | 62 = 1936
382 = (25−12) | 122 = 13 | 144 = 1444
This is a simpler way of thinking of the binomial expansion (50+a)2 = 2500 + 100a + a2.
We can also use the fact that multiples of 25 are fairly round numbers. We can square numbers near 25 using the expansion (25+a)2 = 625 + 50a + a2, as 272 = 625 + 100 + 4 = 729. The relation (75+a)2 = 5625 + 150a + a2 can be used to find, say, 782 = 5625 + 450 + 9 = 6084. We can reformat these into our notation, noting that a .5 in a group is converted to a 50 in the group to the right of it:
(25+a)2 = (6 + a/2) | (25 + a2)
272 = (6+1) | (25 + 22) = 729
(75+a)2 = (56 + a + a/2) | (25 + a2)
782 = (56+3+1.5) | (25 + 32) = 60.5 | 34 = 6084
Alternatively, we can re-arrange the binomial expansion of two-digit squares ending in 9, 8, or 7 in another interesting way:
(10a+9)2 = 100a(a+1) + 80(a+1) + 1
(10a+8)2 = 100a(a+1) + 60(a+1) + 4
(10a+7)2 = 100a(a+1) + 40(a+1) + 9
where the digits in bold comprise the square of the units digit. So 792 = 5600 + 640 + 1 = 6241, 872 = 7200 + 360 + 9 = 7569, and so on.
If a neighbor of the number has a square that is known or easily calculated, we can use this convenient square and adjust for the difference. Since (a+1)2 = a2 + a + (a+1), we can find 312 = 302 + 30 + 31 = 961. Similarly, 292 = 302 − 30 − 29 = 841. For other neighboring numbers we can find the square of the convenient number, then add or subtract the original number, the final number, and twice each number in between, so 322 = 302 + 30 + 2×31 + 32 = 1024, a square that we recognize from powers of 2. Ultimately we will find that the field is quite crowded for squaring numbers less than 100, and in a surprising development we eventually start looking to three-digit numbers for more interesting challenges.
Three-digit numbers can be treated like two-digit numbers in all these methods if we treat the leftmost two digits as a single digit, as in using the technique for squaring numbers ending in 5 to find 2352 = 23×24 | 25 = 55225. We can also alter some of the methods slightly for three-digit calculations. The square of a number near 500 can be found by adding the difference from 500 to 250 and appending the difference squared as a three-digit group delineated by a comma:
(500+a)2 = (250 + a) , a2
5132 = 263,169
4922 = 242,064
Multiplying larger numbers extends these rules further with a corresponding increase in difficultly. A more recent method of multiplying two 4-digit numbers is discussed in the Newer Methods section of this essay. I might add that an excellent, free training program for practicing multiplications up to 4×4 can be found here.
Division was not a common task except in the limited context of factoring a number, which is not really division in the truest sense. When this was done, as in the case of decimalizing a fraction, it was often done by reversing known multiplications or by taking advantage of properties of division by small integers (which might be factors of the actual divisor).
There are some properties of reciprocals 1/t that help in finding their decimal expansions, and of course a calculation of s/t might first calculate 1/t and then multiply the answer by s. For a denominator t with prime factors of 2 and 5 only, the number of decimal places in its decimal expansion will equal the highest power of 2 or 5, so any s/16 will terminate after the fourth decimal place since 16 = 24 x 5. If t is a prime number, the decimal expansion of 1/t will consist of some zeros followed by repeated groups of digits. The length of this group will be (t-1) or a factor of (t-1), the first type occurring for t = 7, 17, 19, 23, 29, 47, 59, 61, 97, … So 1/7 will have a 6-digit repeating group and in fact 1/7 = 0.142857142857142857… When t is one of these special primes, the corresponding digits in the two halves of the group will add to 9, so here if we find 1/7 to three places (0.142) we immediately know the next three digits (857) and we now have the whole repeating group. A numerator here other than 7 that is less than 7 simply rotates the digits of the repeating group, maintaining this relationship. A numerator greater than 7 will consist of some digits to the left of the decimal point, followed by the repeating groups based on the remainder. Also, the repeating group of 1/t for a prime t with a units digit of 1 will have a last digit of 9 and vice-versa, otherwise the last digit of the repeating group will be the same as the last digit of t. So for 1/7 we know immediately that the last digit of the repeating group will be 7, so we take the reciprocal to 2 places (0.14), then we know the next digit is (9-7) or 2, then we complete the entire group as 142857.
There are many such relationships that make such divisions faster and simpler. People will generally request division by prime numbers anyway, so it’s possible to memorize some of these repeating groups (or half of each group). Some questioners are aware that 1/97 has 96 digits in the repeating group and ask for that reciprocal. Aitken remarked that this was sometimes asked and then rattled off the answer, and we will see a critique in the Media part of this essay of such a question posed in a modern documentary.
Aitken used these properties of reciprocals to decimalize fractions, but he also would use straight division but with a simpler divisor, making corrections as needed in each step. For example, when a divisor ended in 9, such as 1/59, he would divide instead by 60 as described in his talk:
6)1.016949152 = .0169491525…
where the adjustment for the simpler divisor amounts to adding the previously obtained digit to the next digit in the dividend (here always 0).
If there is situation that involves dividing by, say, a four-digit value, we can try to reduce the denominator to an integer of one or two digits at most, as short division by numbers of this size are not too difficult. First, we convert the denominator to an integer by shifting its decimal point and shifting the decimal point in the numerator by the same amount. For example, 4.657/.07 = 465.7/7 = 66.53 to four digits. Then we look to simplify the fraction by dividing the numerator and denominator by low common factors. For example, .2420/7.2 = 2.420/72 = .605/18 = .0336 to four digits. We could have twice divided through by 2, but the last two digits of both numbers are divisible by 4, so the entire numbers are divisible by 4. The division by 18 can be done directly (I would count up by 18’s here, so for 60 we have 18–>36–>54 gives 3 remainder 6, then for 65 we know 54 again gives 3 remainder 11, then for 110 we double 54 to give 6 remainder 2, etc.), or we can divide .605 by 2, then by 9. Division by 2 is easiest if the number is split into even number groups, so .605 is split into .(60)(50), so half of each even group gives .3025, and dividing this by 9 yields .0336 as before. In other words, we can divide the denominator by a convenient factor even when the numerator is not evenly divisible by it, e.g., 35/36 = 5.833/6 = .9722 .
We can also adjust the denominator a little bit to get it to a round number as long as we adjust the numerator by the same percentage. If we are solving 247/119, we see that the numerator is about twice the denominator, so if we adjust 119 up to 120, we need to adjust 247 by about 2, and we arrive at 249/120 = 24.9/12 = 2.0750 compared to the actual value of 2.0756… With experience, we might notice that 247 is twice 119 plus about 10%, so we could add 2.1 to 247 to get a more accurate 24.91/12 = 2.0758. If we have 91.5/353, we can adjust the denominator down to 350 and double the fraction to have a single-digit division, so 91.5/353 = 90.75/350 = 181.5/700 = 1.815/7 = .2593 , where we reasoned that decreasing 353 by 3 was roughly equal to decreasing 91.5 by ¾ . Our answer will be a bit high, since 91.5 is a bit more than 1/4 of 353, so we might subtract a tiny bit from our answer (which is in fact in excess by .0001). This shifting technique may not seem like much, but as a graduate teaching assistant I impressed more than one physics class by using it to mentally calculate answers to problems.
Finally, we can generalize an approximation that is valid for small b, that is
1 / (1+b) ≈ 1−b
a / (c+b) ≈ (a/c) (1 – b/c)
a / (c-b) ≈ (a/c) (1 + b/c)
The error here is about .01 of a/c when b/c is 1/10, and about .0001 of a/c when b/c is 1/100 , low for both approximations. This is a nice alternative to shifting the denominator when the numerator is not a simple multiple or fraction of the denominator. For example, 27/61 ≈ (27/60)(1 – 1/60) . Here we can find 27/60 = 2.7/6 = .4500 , then subtract .4500/60 = .0450/6 = .0075 to get .4425 compared to the actual value of .4426 . Since 1/60 is 1/6 of 1/10 and the error follows a square law, we are low by about (.45/36)(.01), or .0001 , but this is for better calculators than me.
In short, long division should not be as intimidating as it might seem, particularly since we have flexibility in our accuracy. If the problem is difficult to rearrange, we settle for less accuracy; if it can be easily manipulated, we take what we are offered.
Factoring and Primality Testing
Factoring, I imagine, would have fired the imagination of a lightning calculator. Here every carefully preserved number fact, every trick in the book could be thrown at the problem in a wild attempt to unlock the puzzle in a highly-charged atmosphere of anticipation. If an answer were to emerge immediately, either through luck or a creative leap, the solution is recorded as an instance of true genius. The fact that methods of factoring are not commonly known, and that no closed form method of factoring exists in general, lends this feat an aura of mystery that high-order roots once had prior to calculators. In fact, determining whether a number has no factors (other than 1 and itself, of course)—or in other words declaring a number to be prime—is more difficult than finding factors of a compound number. This one category may be the true measure of the depth and brilliance of a mental calculator. Many were adept at it, including Klein and Aitken. At 8 years of age, Zerah Colburn could factor 6-digit numbers or declare them prime.
Trial and error was the most common method, but only after reducing the possible factors of the number to a minimum. This can be done by looking at the last few digits of the given number and having memorized products that end in those numbers. As trivial examples, an even last digit such as 0,2,4,6, or 8 is obviously divisible by 2, and a last digit of 0 or 5 is divisible by 5. If the last two digits of a number are divisible by 4, the number is divisible by 4, and if the last three digits are divisible by 8, the number is divisible by 8. There are a number of divisibility tests for small primes that are commonly known (see here). Beyond that, lightning calculators often knew all products of two numbers that would end in any two digits, and it’s a good bet that they knew a lot that ended in various 3-digit numbers. These would significantly limit the number of factors to verify by multiplication, which only have to be tested up to the square root of the given number, and unless the number turns out to be prime there is no need to test every one before a true factor is found.
The mathematician Fermat produced the first methodical method of finding factors of integers. Since a2 – b2 = (a+b)(a-b), then if two squares can be found whose difference equals the given number, two factors will have been found. As mentioned in the Fast Multiplication section, squaring numbers is generally easier than multiplying two numbers, and calculators could also memorize tables of last digits of differences of squares to limit these possibilities as well. To simply test whether a number of the form (4n+1) is prime, possible sums of two squares could be checked, as a prime of this form can only be expressed as a single such sum (Smith reports that Aitken and Klein used this fact).
Factoring is a fun diversion. I know at least two people who practice factoring car license plates or the last few digits of the odometer while driving. Not recommended.
Producing high-order roots of perfect powers is extremely common, generally possessing all the drama of factoring or primality testing (and assuredly more) without the nuance or difficulty of the latter. It makes great press, though (see the later discussion on the media). I say “generally” because at the highest levels of this task, a distinction lost on the public, a calculator does have to stretch his/her capabilities in remarkable ways to find the answer. Klein was an expert on this, along with Dagbert and Marathe, but it’s safe to say that integer roots were asked of all lightning calculators, then and now.
As a good rule of thumb, the difficulty of extracting a root does not depend on the order of the root (unless it is an even root, which is rarely asked) but rather on the number of digits in the answer. This is critical in any evaluation of such a feat—remember this the next time you hear that someone extracted the cube root of a number near a billion, or the 13th root of a 39-digit number or the 23rd root of a 69-digit number, all of which have at most 3-digit answers.
It turns out that the last digit of a root of an order (4k+1), such as a 5th root, a 9th root, etc., is the same as the last digit of the power, so for example the 13th root of 79,469,020,066,571,739,979,222,359,560,551,645,783 has a last digit of 3. The last digit of a root of an order (4k+3), such as a cube root, a 7th root, etc., is different but unique compared to the last digit of the power, so with some memorization the digit-pairing is also known for these roots. Between these two rules we have one of the three digits of an exact, odd root.
Now the highest digit can be found by memorizing the ranges of powers for the various starting digits 0 through 9. In our example above, of the 13th root of 79,469,020,066,571,739,979,222,359,560,551,645,783 we might have memorized the fact that the 13th power of a 3-digit number starting with 8 ranges from 55×1036 to 250×1036, and here we have 79×1036, so we now immediately know the number is of the form 8n3, where n is the final digit to determine.
We can use remainders from divisibility tests to find the missing middle digit. For example, the remainder after a cube is divided by 11 (the 11-remainder) is uniquely paired with the remainder after its cube root is divided by 11, as
(0,0), (1,1), (2,8), (3,5), (4,9), (5,4), (6,7), (7,2), (8,6), (9,3), (10,10)
We can find the 11-remainder by subtracting the sum of the even-place digits of a number from the sum of the odd-place digits, then adding or subtracting multiples of 11 to find a number between 0 and 10. For example, if we have a cube 300763, the 11-remainder is (3+7 +0) – (6+0+3) = 1. Therefore the 11-remainder of the cube root is, from the pairing, also 1. We know from earlier than a cube and its root has a unique pairing of last digits, which we can also memorize as
(0,0), (1,1), (2,8), (3,7), (4,4), (5,5), (6,6), (7,3), (8,2), (9,9)
So the last digit of the cube root must be 7 since 300763 ends in 3, and since the cube is less than a billion it is a 2-digit number n7. The 11-remainder (7-n) must equal 1, so n = 6 and we find the cube root of 300763 to be 67.
The 9-remainder can be tried for fifth roots, as it produces (power, root) pairs of
(0,0), (0,3), (0,6), (1,1), (2,5), (4,7), (5,2), (7,4), (8,8)
The only ambiguity is when the 9-remainder of the fifth power is 0, and in this case the 11-remainder can then be used to distinguish them.
In our running example of the 13th root of 79,469,020,066,571,739,979,222,359,560,551,645,783 the 13-remainder will be the same as the 13-remainder of the root. We could do short division by 13 working from left to right one digit at a time, or since 7×11x13=1001, we can divide out multiples of 1001 from the original number by subtracting each thousands group from the thousands group to its right:
Dividing 641 by 13 we arrive at a 13-remainder of 4. So 8n3 must leave 4 as a 13-remainder, and it doesn’t take long to find the middle digit to be 2 and we have found the 13th root of a very large number indeed.
With some additional memorization of two-digit endings of powers it’s possible to get the last two digits for a given root (and calculators often specialize in certain orders of roots), and this is also possible to do for the first two digits. This provides the ability to find roots of greater numbers of digits. Klein also used logarithms he memorized to calculate the first five digits of the answer, which also increased his range—he is an example of someone who has raised the bar on these calculations to extremely impressive heights. Alexis Lemaire, a present-day lightning calculator is another—his specialty is finding the 13th root of 200-digit numbers, which contains up to 16 digits.
I might add that I use the variable precision arithmetic (vpa) command in the MATLAB software package to generate arithmetic results to many digits. Here the command “vpa 823**13 200″ will provide all digits of 82313 up to a maximum of 200 digits. Octave is a free open-source alternative to MATLAB that is designed to accept MATLAB commands.
Irrational roots, that is, decimal roots of number that are not perfect powers, is historically rare, although it is more popular today because it is easy to use calculators and computers to generate problems. Aitken was able to approximate square and cube roots using numerical approximation techniques he was aware of as a mathematician.
Aitken could find the square roots of non-squares to five significant digits in about 5 sec. From an initial approximation n (a decimal or fraction) of the square root of a number N, he used the Newton-Raphson method for iterating a function to find a correction as (N – n2) / (2n). So for N=85, we can estimate the square root as 9 and find a better answer as 9 + (85 – 92)/18 = 9.22 compared to the actual value of 9.219544… A closer initial value yields a much closer answer, so if we can do two-digit multiplications and divisions we can take an initial estimate of 9.2 to find a better answer of 9.2 + (85 – 9.22)/18.4 = 9.219565…
Cube roots can be approximated by a similar mechanism—for a description (and for more examples of square roots) I heartily recommend reading Smith’s book or Aitken’s 1954 talk on mental calculation here.
If logarithms and anti-logarithms can be mentally calculated, this provides a different way of approximating roots, even higher-order roots. The 12th root of N, for example, can be calculated by finding log N, dividing by 12, and then finding the antilogarithm, all at whatever accuracy the calculator can produce. Klein used his memorized logarithms and simple interpolation to do this.
Powers of Integers (Involution)
As we saw earlier, squares and cubes of numbers offer advantages to the calculator. In general it’s easier to use the binomial expansion of (a+b)n for a round number “a” and a small correction “b” than to multiply the number (a+b) by itself n times.
(a + b)2 = a2 + 2ab + b2
(a + b)3 = a3 + 3a2b + 3ab2 + b3
When multiplying, Mondeux would factor problems if possible, and if this reduced the problem to powers such as squares and cubes, he would employ the binomial expansion. In 1952 Klein raised 87 to the 16th power, which Smith assumes was most likely by successive squaring. Marathe is an expert on raising single digits to powers up to 20 (but how many different results is this, really?). Euler is reported to have mentally calculated the first six powers of all numbers less than 20 in one restless night.
Logarithms occur naturally in formulas, and as we have seen earlier they can be used to find roots of any order, even fractional roots, if there is a means of finding the antilogarithm as well.
We saw earlier than Klein had memorized the logarithms of the first 150 integers to 5 digits. Bidder had memorized those for the first 100 integers to 8 digits. By factoring a number and scaling the factors by multiples of 10 when needed, corresponding logarithms can be added to find the logarithm of the answer. For example, log 483 = log (3 x 7 x 23) = log 3 + log 7 + log 23 = 0.47712 + 0.84510 + 1.36173 = 2.68395. But what about log 487? Well, 487 = 483(1+ 4/483) ≈ 483(1 + 1/120) so log 487 ≈ log 483 + log(1 + 1/120). The well-known power series for the natural logarithm (denoted by ln) of a value 1+x for x ≤ 1 and x ≠ -1 is:
ln (1+n) = n – n2/2 + n3/3 – …
We can truncate this series very quickly if n is small. To find the common logarithm (to base 10) rather than the natural logarithm (to base e), we have to multiply ln(1+n) by log e = .4343. So
log(1 + 1/120) = .4343 ln (1 + 1/120) ≈ .43/120 = 0.00358
Adding this value to our earlier result log 483 = 2.68395 we arrive at log 487 ≈ 2.68753 which is actually correct to the last digit shown.
There are other methods as well. Bidder used the following relation to arrive at the last correction above:
log (1 + n) ≈ 10m n log (1+10-m)
where m is chosen so that 10m n lies between 1 and 10. Bidder memorized the values of log (1+10-m):
log 1.01 = 0.00432…
log 1.001 = .000434…
log 1.0001 = .0000434…
where the digits approach log e = .4343… as m increases. The correction above was log (1 + 1/120) = log (1 + .00833), so m=3 will give 103 x .00833 = 8.33 and multiplying this by log 1.001 = .000434 we arrive at .0036 if we simplify the multiplication to 2 places. This is quite near the correction we calculated by our last method.
Note that n can be positive or negative in these relations, so the relations are useful when it is easier to find the logarithm either above or below the desired number.
Sum of Four Squares
Every positive integer can be written as at least one sum of four squares, so this task was occasionally asked of lightning calculators, particularly those who specialized in it such as Ruckle, Finkelstein and Klein. As a typical case, Ruckle expressed 15663 as a sum of four squares in 8 sec, followed immediately by a second sum. The same was done for 18111 in 26.5 sec and 63.5 sec, and for 53116 in 51 sec immediately followed by a second sum.
Like factoring, a solution for reducing an integer to the sum of four squares cannot be expressed in closed form, and success relies in part on the experience and cleverness of the calculator. I have written a paper summarizing methods for such reductions (a subject not covered by my book, by the way) that can be found here.
In a different vein related to squares, given an integer c, Mondeux could find two squares a and b that have a difference of c. He apparently knew that if d = a – b, then b = (c – d2) / (2d). Then it becomes a matter of finding d such that b is a positive integer, whence a = b + d. If c is odd then he could set d = 1 and then b = (c-a)/2 and a = b + 1.
Calendar calculations are probably the most commonly performed feat of calculators, particularly aspiring calculators, but this happens to be my least favorite task. It usually involves finding the day of the week for any day in history, which has to take into account leap years and the Gregorian calendar change (which was adopted in various years by various countries, actually). Since this is an area I haven’t studied in detail, I will simply provide some good websites that describe calendar algorithms: here, here, here, here, and here.
An algorithm for mentally computing the phase of the moon with 2-day accuracy between 2000 and 2009 can be found here.
Bidder mentally calculated simple interest on money at 10 years old and compound interest later in life as described in his 1856 talk found here. This interest is periodically compounded rather than continously compounded, which would require calculating exponentials. I am not aware of any other historical calculator who dealt with this area of mathematics.
New methods for calendar calculation seem to appear now and then, and I presume these are being used by some. My book from 1993 also contains quite a few algorithms invented or adapted for mental calculations to high precision. In addition I have written quite a few papers on methods—the papers linked below reside on the Online Materials page of the section of my main website devoted to the book.
For example, in the Logarithms section above we saw a method of calculating the logarithm of a number based on a nearby round number N whose logarithm is much easier to find. However, there are various other approximation schemes for finding such a logarithm. The most generally useful one of these, I think, is the following relation for n small compared to N:
ln (N + n) ≈ ln N + 2n/(2N + n)
Compared to the problem in the earlier Logarithms section, the correction term to add to log 483 to find log 487 when using this new formula is .4343(8/970) = 0.00358, accurate as before to the last digit. If additional digits were taken for ln N and for this correction term, it would be found to be more accurate than the earlier result obtained by truncating the first term of the power series.
It’s also possible to extend the Newton-Raphson method to churn out digits of a square root one or two at a time indefinitely, or at least until the calculator has reached their limit of time or ability. It’s not necessary to read the book for this, as the method is provided in full in the papers found here, here and here.
Manny Sardina has produced approximation algorithms for integer and fractional roots of numbers based on continued fraction representations in a paper found here.
There are also various methods for calculating exponentials that were not used historically by mental calculators. The most promising one from the book is detailed in the paper here.
John McIntosh has discovered another method for exponentials that only requires knowing log 2 = .3010300 and log 3 = 0.477121. His presentation of this can be found here.
Algorithms for approximating trigonometric functions are also presented in the book. And in an odd grouping of functions sharing a similar approximation technique, I have written a paper that describes methods for mentally calculating the tangent, hyperbolic tangent, exponential and logarithmic functions to high accuracy, found here.
Finally, although lightning calculators historically could find products of two 4-digit problems or more (Zerah Colburn at 7 years old could multiply two 4-digit numbers), I wrote a paper on what I believe is an easier way to perform this task, one that is particularly useful when the difference between the first half and the second half of one of the numbers is small, found here.
It seems that some modern calculators have picked up on some of these methods, particularly the one for inexact square roots, which has now appeared in simplified form in a couple of other books.
This, then, represents a short summary of some of the methods that have been developed for mental calculation. Again it is important to realize that lightning calculators historically developed highly individualized ways of doing things, and many of those ways were fairly inefficient. But optimum efficiency was not necessarily critical, particularly considering the lack of objectivity among those reporting the exploits of these individuals. To grasp the true history of lightning calculators and their art it is important to recognize this media partiality, and this is the subject of the next part of this essay.