Lição de casa: como escrever multiplicação própria de grandes números?

No meu projeto, eu tenho que lidar com a multiplicação de grandes números (maiores que java.long) vistos por mim.BigNumber classe comoint[]. Basicamente, eu preciso implementar algo como isto:

    157 x
    121 y
   ----
    157 result1
   314  + result2
  157   + result3
 ------
 18997  finalResult

Mas como eu o implemento?

Pensei em expandir o resultado2,3 com zeros (3140, 15700) e adicioná-los. Mas primeiro eu preciso, de alguma forma, navegar entre cada dígito de y e multiplicá-lo por cada dígito de x.

questionAnswers(11)

yourAnswerToTheQuestion