と表現するとX = a R + b Y = c R + d
ところでX Y = (a R + b) (c R + d) = a c R2 + (a d + b c) R + b d … (1)
であるから、(a - b) (c - d) = a c - (a d + b c) + b d
(1) に (2) を代入して(a d + b c) = a c + b d - (a - b)(c - d) … (2)
となり、n 桁の数の掛け算が n/2 桁の数の3つの掛け算の和に分解できた。X Y = a c R2 + (a c + b d - (a - b)(c - d)) R + b d … (3)
X = 123456 Y = 789012 X を上位3桁と、下位3桁に分けて a = 123 b = 456 Y を上位3桁と、下位3桁に分けて c = 789 d = 12 a c = 97047 b d = 5472 (a - b)(c - d) = -258741 X Y = 97047*1000000 + (97047 + 5472 + 258741)*1000 + 5472 97047 + 97047 + 5472 + 258741 + 5472 -------------- 97408265472
*1: 以前は2分割法と記載していたが、一般的には発見者 Anatolii Alexeevitch Karatsuba (ロシア語: Карацуба, Анатолий Алексеевич) の名前をとって Karatsuba 法と呼ぶらしく、記載を改めた。