How to Multiply Roman Numerals

Preliminaries

I'll assume you know how to read, write, and add roman numerals. If you can't there's really not much chance of learning how to multiply.

Notation

The ancient Romans didn't use subtractive shorthand notation (e.g. IV or CM), but allowed four repetitions of a numeral (e.g. IIII or DCCCC). Calculations will be easier if you do the same. You can wait for the final answer before normalizing back into modern form.

Parity

Any integer is either odd or even. V and I are odd, and all other numerals are even, so the parity of a roman numeral can be determined by looking only at the Vs and Is. An even count of these two numerals mean even, and an odd count is odd.

Halving

A roman numeral can be halved (i.e. divided by two) by working left to right using the obvious groupings of numerals. E.g. to find half of XLVII, treat the XL as XXXX and half of it is XX, and the VII is half of VI, which is III, with a remainder of I.

Doubling

Similarly doubling can be done right to left using the natural groupings of numerals. E.g. to double XLII, twice II is IIII, twice XL is XXC which is LXXX, and the result is LXXXIIII or LXXXIV.

Multiplication

Make a table with two columns, and enter the two numbers to be multiplied into the first row. (If you didn't enter them in roman numerals, enter them as such on the second row.)

Make the next row by halving the first number (discarding remainders) and doubling the second. Continue until there is nothing left to halve.

Cross out all the rows where the left number is even.

Add the remaining numbers in the second column. The result is the product of the first two numbers.

Examples

17 42
XVII XXXXII
VIII LXXXIIII
IIII CLXVIII
II CCCXXXVI
I DCLXXII
   
  = DCCXIIII
  = DCCXIV
  714
61 14
LXI XIIII
XXX XXVIII
XV LVI
VII CXII
III CCXXIIII
I CCCCXXXXVIII
   
  = DCCCLIIII
  = DCCCLIV
  854
14 61
XIIII LXI
VII CXXII
III CCXXXXIIII
I CCCCLXXXVIII
   
  = DCCCLIIII
  = DCCCLIV
  854

Division anyone?