3-digit integers with 6 single-digit multiplications

    In class, we discussed a divide-and-conquer algorithm (attributed to Karatsuba) to multiply two long integers by dividing the numbers into two halves and using only 3 half-size multiplications, with time complexity 𝑢(𝒏 π’π’π’ˆπŸπŸ‘ ) = 𝑢(𝒏 𝟏.πŸ“πŸ–πŸ“). In this exercise, we explore dividing the integers into three. (a) Consider two 3-digit decimal integers 𝑨 = π’‚πŸπ’‚πŸπ’‚πŸŽ and 𝑩 = π’ƒπŸπ’ƒπŸπ’ƒπŸŽ. The standard elementary-school method of multiplication requires πŸ‘ Γ— πŸ‘ = πŸ— single digit multiply. π’‚πŸ π’‚πŸ π’‚πŸŽ Γ— π’ƒπŸ π’ƒπŸ π’ƒπŸŽ ________________________________________________________________________ π’‚πŸπ’ƒπŸŽ π’‚πŸπ’ƒπŸŽ π’‚πŸŽπ’ƒπŸŽ π’‚πŸπ’ƒπŸ π’‚πŸπ’ƒπŸ π’‚πŸŽπ’ƒπŸ π’‚πŸπ’ƒπŸ π’‚πŸπ’ƒπŸ π’‚πŸŽπ’ƒπŸ ________________________________________________________________________ π’‚πŸπ’ƒπŸ (π’‚πŸπ’ƒπŸ + π’‚πŸπ’ƒπŸ) (π’‚πŸπ’ƒπŸŽ + π’‚πŸπ’ƒπŸ + π’‚πŸŽπ’ƒπŸ) (π’‚πŸπ’ƒπŸŽ + π’‚πŸŽπ’ƒπŸ ) π’‚πŸŽπ’ƒπŸŽ Let us call the 5 sum terms as (π‘»πŸ’, π‘»πŸ‘, π‘»πŸ, π‘»πŸ, π‘»πŸŽ), from left-to-right. Show how it can be done with only six single-digit multiplications, and some additions/subtractions. Show clearly your 6 multiplication steps, and then show how the sum terms are computed by some additions/subtractions. (b) Illustrate your algorithm for the example (πŸ–πŸ‘πŸ“ Γ— πŸπŸ”πŸ). (c) Analyze the time complexity of a divide-and-conquer algorithm based on this technique. (The time complexity is worse than Karatsuba algorithm.)