## Roman Arithmetic

When in Rome, do as the Romans do!

### Roman Numerals

Roman Numerals were used in Europe until the 18th century and even today in certain applications. Generally the only place we see them today is an alternative way of expressing a given Natural Number such as year, or hour on a clock, or Superbowl number.

Roman Numerals are not a positional system and contain no symbol of zero. Rather, they are an additive system with each symbol taking on a definite numeric value regardless of where it appears. Actually there a few subtractive rules that makes writing a value somewhat more compact that do depend upon position relative to another symbol.

The symbols and their values are:

 I V X L C D M 1 5 10 50 100 500 1000

The table can be extended to larger values by using the convention that a bar over a symbol indicates "1000 times:"

 V X L C D M 5000 10,000 50,000 100,000 500,000 1,000,000

For our purpose we will generally utilize values that are sufficiently small to be written without the "barred" symbols.

While a particular symbol takes on a given value regardless of its position, it is customary to write the number from left-to-right with the "largest" symbols first.

A Roman value of, as an example: DCCLXVII

would be:

500 + 100 + 100 + 50 + 10 + 5 + 1 + 1 = 767

Of course, the Romans would not have been able to think in terms of our numeric values. They could only manipulate the symbols directly. As an example, they would not have known that VV is an X because 5 + 5 = 10. They would have needed to memorize and use a grouping equivalence table:

 IIIII is equivalent to V VV is equivalent to X XXXXX is equivalent to L LL is equivalent to C CCCCC is equivalent to D DD is equivalent to M

Such an equivalence would have reduced the number of symbols in a number. As an example, 600 could be written as CCCCCC (or 100+100+100+100+100+100). This would have been "simplified" by the equivalence rules to the properly written DC (or 500+100). For that matter, 600 could be expressed as 12 L's or 60 X's or 120 V's or 600 I's or some combination as long as the sum of all the characters totaled 600. In all cases, by applying the equivalence rules to shorten the expression by replacing several symbols with one we would get DC.

Simply applying the rules so far could lead to a Roman value such as VIIII (or 9). To write this more compactly, we use the convention that we can "subtract" a symbol representing a 1, 10, or 100 from the next two higher symbols, respectively, by writing the smaller to the left. Therefore the only subtractive forms are:

 write instead of value IV IIII 4 IX VIIII 9 XL XXXX 40 XC LXXXX 90 CD CCCC 400 CM DCCCC 900

Therefore, as an example: MCMXCIV

would be:

1000 + 900 + 90 + 4 = 1994

The 900, of course, comes from the pair of symbols: CM.

The Roman value is equivalent to: MDCCCCLXXXXIIII. While this is less compact, we shall see that this equivalent form without any subtractives can be useful.

By the way, not every source agrees to some of the details of Roman Numerals. As an example, we could expand the definition of a subtractive and form 99 as IC rather than XCIX as we would according to the rules above. Indeed, it is not clear if the Romans actually used the subtractives to write the numbers compactly.

### Conversion

Conversion to and from ordinary numbers is accomplished rather easily.

from Roman

Simply add up the values of the Roman symbols. Of course, if a subtractive appears with a I, X, or C to the left of a "larger" symbol, we need to substitute the pair for the correct numeric value.

to Roman

Start by removing the largest Roman values first and subtracting the removed value until we have converted the entire value. We keep trying to remove a given Roman value until we cannot, then we try the next smaller one. As an example:

 value symbol to try result value left Roman value 2349 M or 1000 yes 1349 M 1349 M or 1000 yes 349 MM 349 M or 1000 no 349 MM 349 D or 500 no 349 MM 349 C or 100 yes 249 MMC 249 C or 100 yes 149 MMCC 149 C or 100 yes 49 MMCCC 49 C or 100 no 49 MMCCC 49 L or 50 no 49 MMCCC 49 X or 10 yes 39 MMCCCX 39 X or 10 yes 29 MMCCCXX 29 X or 10 yes 19 MMCCCXXX 19 X or 10 yes 9 MMCCCXXXX 9 X or 10 no 9 MMCCCXXXX 9 V or 5 yes 4 MMCCCXXXXV 4 V or 5 no 4 MMCCCXXXXV 4 I or 1 yes 3 MMCCCXXXXVI 3 I or 1 yes 2 MMCCCXXXXVII 2 I or 1 yes 1 MMCCCXXXXVIII 1 I or 1 yes 0 MMCCCXXXXVIIII

The table above would indicate the steps a computer would move through. A human would normally take some short cuts by lumping. As an example, we readily see that there are two "thousands" in the original value and would immediately write down: MM. There are three "hundreds" so we get MMCCC, etc until we get the entire number converted.

There is one more step we need to do. We need to substitute for any subtractive values. To do this we proceed right-to-left and look for four of the same symbol. Since there are four I's we check the next symbol on the left and substitute IX for the VIIII. (Note, if the Roman value were something like, MDIIII, we could not utilize the D so we would end up with MDIV.) After making this substitution we have: MMCCCXXXXIX.

In this value there are four X's with a preceding C. These X's become XL. Thus the final Roman numeral value is: MMCCCXLIX.

If you were asked to add two Roman valves such as CXXII + LXI, you would probably convert these two values to regular numbers, add them (122 + 61 = 183), and finally convert back to Roman Numerals: CLXXXIII. This is because it is relatively easy to convert and we know how to add ordinary decimal numbers.

The Romans could not do this! They needed a method of manipulating the Roman symbols directly to achieve the addition!

It turns out that an algorithm for adding Roman numbers directly is actually quite easy. This was fortunate for the Roman engineers and accountants.

The algorithm has just five steps:

1. Substitute for any subtractives in both values; that is; "uncompact" the Roman values.

2. Put the two values together—catenate them.

3. Sort the symbols in order from left-to-right with the "largest" symbols on the left.

4. Starting with the right end, combine groups of the same symbols that can make a "larger" one and substitute the single larger one.

5. Compact the result by substituting subtractives where possible.

As an example, perform CCCLXIX + DCCCXLV.

 1 Substitute for any subtractives to obtain: CCCLXVIIII + DCCCXXXXV 2 Catenate to obtain: CCCLXVIIIIDCCCXXXXV 3 Sort to obtain: DCCCCCCLXXXXXVVIIII 4 Combine groups to obtain: DCCCCCCLXXXXXXIIIIDCCCCCCLLXIIIIDCCCCCCCXIIIIDDCCXIIIIMCCXIIII 5 Substitute any subtractives to obtain: MCCXIV

You can verify that this is indeed the correct by converting the values to regular notation: 369 + 845 = 1214.

### Subtraction

Subtraction directly is also reasonably easy, but there is a process akin to "borrowing" that needs to be included. If addition is accomplished by putting the two values together to form a result, subtraction is accomplished by "crossing out" symbols in the value that is being subtracted in the starting value.

Here is a simple example: LXVIII − XII. In the first value, LXVIII "cross out" or remove common symbols: LXVIII or, in final form, LVI.

We will assume that the subtraction is possible; that is, the result is 1 or larger. (Note, Roman Numerals cannot express zero or negative numbers.)

The algorithm becomes:

1. Substitute for any subtractives in both values.

2. Any symbols occurring in the second value are "crossed out" in the first.
1. If the symbol appears in the first, simply cross it out.
2. If not, then convert a "larger" symbol into appropriate multiples of the needed one, then cross out.

3. Rewrite without the crossed out symbols.

4. Check for any groupings of the same symbol that needs to be replaced with a "larger" one.

5. Compact the result by substituting subtractives where possible.
As an example, perform CXXIX − XLIII.

 1. Substitute for any subtractives to obtain: CXXVIIII − XXXXIII 2. a.  cross out common symbols: CXXVIIII and XXXXIII b.  need X's, convert C to LXXXXX LXXXXXXXVIIII and XXXXIIILXXXXXXXVIIII and XXXXIII 3. Rewrite: LXXXVI 4. Check for grouping: LXXXVI 5. Substitute any subtractives to obtain: LXXXVI

You can verify that this is indeed the correct result by converting the values to regular notation: 129 − 43 = 86.

The "borrowing" rule 2b above may need to take on a slightly more complicated approach. Consider D − X. The D must be replaced with a series of symbols that includes an X. It becomes: CCCCC which in turn becomes CCCCLL which finally becomes CCCCLXXXXX. After "crossing out" the common symbols, the result is CCCCLXXXX with a final compact answer of CDXC.

If the conversion in step 2 is done carefully, then there should not be anything for step 4 to do. That is, it should be possible always to introduce a minimum number of needed symbols during step 2.

### Multiplication

Multiplication is rather obvious once you realize that the Roman symbols are additive; that is, CXI is really C + X + I. To multiply two multinomial expressions in algebra like (a+b)(x+y+z) we multiply each term in the first by every term in the second and add the results. This is the approach for multiplying Roman numbers.

First we need a multiplication table. Due to the nature of the values of the Roman symbols (every value involves only 5's and 10's) this is easy to form and learn:

 times I V X L C D I I V X L C D V V XXV L CCL D MMD X X L C D M V L L CCL D MMD V C C D M V D D MMD V

The value V, of course, may be written as MMMMM.

The algorithm for multiplication is very similar to the one for addition with just five steps:

1. Substitute for any subtractives in both values; that is; "uncompact" the Roman values.

2. For each symbol in one value form the product with every symbol in the second and catenate them all together.

3. Sort the symbols in order from left-to-right with the "largest" symbols on the left.

4. Starting with the right end, combine groups of the same symbols that can make a "larger" one and substitute the single larger one.

5. Compact the result by substituting subtractives where possible.
As an example, perform XXI•XVII.

 1 Substitute for any subtractives to obtain: XXI•XVII 2 Form products and catenate to obtain: CLXX CLXX XVII 3 Sort to obtain: CCLLXXXXXVII 4 Combine groups to obtain: CCLLLVIICCCLVII 5 Substitute any subtractives to obtain: CCCLVII

In step two, we get X "times" XVII to obtain CLXX. The second X in the first value gives the same, and finally the I "times" gives XVII. It is these three values that are catenated together to form the result. (Note the catenation performs the addition of the intermediate partial products.)

You can verify that this is indeed the correct by converting the values to regular notation: 21•17 = 357.

### Division

Division is somewhat more complicated. Any process should take the two values and produce a quotient and a remainder. Since we cannot represent a zero, a remainder of zero will be simply "no remainder."

Essentially, we can perform division by repeated subtraction. If we count the number of times we can subtract the divisor until the dividend becomes smaller than the divisor, the quotient is the count we get and the remainder is what is left. As an example, 39 divided by 8 gives us:

 value can we subtract 8? result count 39 yes 31 1 31 yes 23 2 23 yes 15 3 15 yes 7 4 7 no 7 4

The answer for 39 divided by 8 is a quotient of 4 and a reminder of 7.

This process should work in any notation that we can perform subtraction including Roman values.

However, consider the work involved if we divide 2417 by 17! (Quotient is 142 with a remainder of 3.)

If we really did this with regular numbers we could save considerable work by "shifting" the divisor by multiplying by a power of 10. We see that if we start with 100•17 = 1700. When we count as we subtract, we will count by 100's. When this value is too large, we divide by 10 and count by 10's, then finally divide again by 10's and count by 1's.

 starting value trial subtractor can we subtract it? result count 2417 1700 yes 717 100 717 1700 no 717 100 717 170 yes 547 100+10=110 547 170 yes 377 110+10=120 377 170 yes 207 120+10=130 207 170 yes 37 130+10=140 37 170 no 37 140 37 17 yes 20 140+1=141 20 17 yes 3 141+1=142 3 17 no 3 142

The quotient is 142 and the remainder is 3. This involves 10 steps rather than the 142 steps needed if we simply subtracted 17 over and over!

We took advantage of the fact that with decimal numbers we can multiply by 10 quite easily by simply catenating a zero to the right.

With Roman numerals we can easily multiply a Roman value by C or X or even L or V. Each symbol in the original is replaced a single or set of symbols according to the multiplication table above. We can subtract by "crossing out." Counting is performed by catenation.

We do need one additional process—we need to be able to determine if one Roman number is larger than another.

This "subprocess" is not hard. It is based upon: "If a number contains more of a given symbol, then it is larger." This will be true if we proceed from the "largest" to the "smallest" symbols ignoring those that contain the same number of a symbol until we find the first occurence where there is more of one.

As an example, MMCXXXVI is smaller than MMCCCCXVI because the second contains more C's.
And MMMDXXXVI is larger than MMMCCCCLVII because the first contains more D's.
In both the cases the M's cannot decide the answer because there are the same number in each of the pairs.

Let us try dividing MMMDCCIV by XIV.

The first step is to rewrite these without subtractives: MMMDCCIIII and XIIII

Next form multiples of the divisor:

 I XIIII V LVVVV X CXXXX L DLLLL C MCCCC D MMMMMDDDD

The last one is clearly too large—contains more M's than the dividend. Therefore we start out subtraction process with the "C times."

 starting value trial subtractor starting value      after "borrowing" after "crossing out" count MMMDCCIIII MCCCC MMMCCCCCCCIIII MMCCCIIII C MMCCCIIII MCCCC MDCCCCCCCCIIII DCCCCIIII CC DCCCCIIII MCCCC too large DCCCCIIII CC DCCCCIIII DLLLL DCCLLLLIIII CCIIII CCL CCIIII DLLLL too large CCIIII CCL CCIIII CXXXX CLXXXXXIIII LXIIII CCLX LXIIII CXXXX too large LXIIII CCLX LXIIII LVVVV too large LXIIII CCLX LXIIII XIIII LXIIII L CCLXI L XIIII XXXXVIIIII XXXVI CCLXII XXXVI XIIII XXXIIIIII XXII CCLXIII XXII XIIII XVIIIIIII VIII CCLXIIII VIII XIIII too large VIII CCLXIIII

We are done! The quotient is CCLXIIII or CCLXIV and the remainder is VIII.

If the divisor divided the dividend exactly then the last "crossing out" step would be complete with nothing left.

### Conclusion

Did the Romans actually calculate using these exact procedures? Probably not. They may have utilized shortcuts and other schemes. However, the above processes do perform the arithmetic operations by manipulating the symbols of the Roman written values directly without first converting them to our decimal representation. In many respects these Roman procedures are easier than the corresponding ones for ordinary numbers since they involve only processes such as catenation, arranging the symbols in order, grouping symbols, "borrowing", and "crossing out."

It is important to remember that the Romans did not think in terms of our familiar numbers—they thought only in terms of the Roman Numbers. They were familiar with numbers such as XIII and MCMLXVIII directly without thinking these were 13 and 1968. They had a lifetime of experience with numbers represented only as Roman Numerals.