С математической составной в общем и целом я разобрался ,а вот с практической реализацией на php возникли проблемы.
К примеру для чисел 1000 и 2000 отрабатывает, для приведенных ниже : Chrome - ERR_EMPTY_RESPONSE.
function foo($x,$y) {
if (strlen($x) == 1 and strlen($y) == 1)return $x*$y;
$n = max(strlen($x),strlen($y));
$n2=$n/2;
$a = substr($x, 0, floor($n2));
$b = substr($x, floor($n2));
$c = substr($y, 0, floor($n2));
$d = substr($y, floor($n2));
$p1 = foo($a,$c);
$p2 = foo($b,$d);
$p3 = foo($a+$b,$c+$d);
return ($p1*pow(10,2*($n2)))+($p3-$p1-$p2)*pow(10,$n2)+$p2;
}
echo foo('12345678' , '87654321' );