Por eso no hay problema. Puedes crear un código general que funcione en todos los casos. Te intento poner un ejemplo a partir de tu código:
Código PHP:
<body>
<form action="Resultado.php" method="post">
<?php
$N = $_POST['N'];
$M = $_POST['M'];
$P = $_POST['P'];
echo '<h3>';echo 'Matriz A';echo '</h3>';
echo "<table border=\"1\">";
for($i=0;$i<$N;$i++){
echo "<tr>";
for($j=0;$j<$M;$j++){
echo "<td>";
echo '<input type="text" name="' . $i . $j '" id="' . $i . $j '" value="" />;
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
echo '<h3>';echo 'Matriz B';echo '</h3>';
echo "<table border=\"1\">";
for($i=0;$i<$M;$i++){
echo "<tr>";
for($j=0;$j<$P;$j++){
echo "<td>";
echo '<input type="text" name="' . $i . $j '" id="' . $i . $j '" value="" />;
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
?>
<input type="hidden" name="N" id="N" value="<?php echo $_POST['N']; ?>" />
<input type="hidden" name="M" id="M" value="<?php echo $_POST['M']; ?>" />
<input type="hidden" name="P" id="P" value="<?php echo $_POST['P']; ?>" />
<input type="submit" name="Enviar" value="Enviar" />
<input type="reset" name="Restaurar" value="Restaurar" />
</form>
</body>
De esta forma te genera un input con el nombre relacionado con la posicion que ocupa en la matriz y los input "hidden" te permiten recuperar fácilmente las dimensiones de la matriz. Para recuperar los valores solamente debes realizar un bucle for como los que utilizas para mostrar la tabla. Te pongo un ejemplo senzillo que muestra los valores, solo deberás añadir el código de la tabla.
Código PHP:
for($i=0;$i<$_POST['N'];$i++){
for($j=0;$j<$_POST['M'];$j++){
$actual = $i . $j;
echo $_POST[$actual];
}
}
for($i=0;$i<$_POST['M'];$i++){
for($j=0;$j<$_POST['P'];$j++){
$actual = $i . $j;
echo $_POST[$actual];
}
}
Si necesitas algo más solo tienes que decirlo.