¿Son suficientes las siguientes condiciones para verificar si la solución de Sudoku con ( salida extendida ) es válida?
Por salida extendida me refiero a que se podría cometer el error, de modo que cada valor podría ser del rango <-1000,1000>, por ejemplo. Como puede ver, es una especie de generalización de la posible salida de sudoku, pero las reglas de Sudoku no cambian .
Si necesita información adicional o quiere saber mi motivación por favor pregunte.
En otras palabras, estás preguntando si existe algún conjunto de 9 enteros.
tal que
y simultáneamente
aparte de la solución trivial .
En Mathematica, eso es
FindInstance[
a^2 + b^2 + c^2 + d^2 + e^2 + f^2 + g^2 + h^2 + j^2 = 285
&& a + b + c + d + e + f + g + h + j = 45,
{a,b,c,d,e,f,g,h,j},
Integers
]
pero no tengo acceso a Mathematica, así que no sé qué se me ocurrió.
Sin embargo, un programa de computadora trivial puede encontrar todas las respuestas fácilmente debido a esa segunda ecuación. Sabemos que todos los s son cantidades positivas, por lo que ninguna de las s posiblemente puede estar fuera del rango .
int main()
{
for (int a=-16; a <= 16; ++a) {
for (int b=a; b <= 16; ++b) {
for (int c=b; c <= 16; ++c) {
for (int d=c; d <= 16; ++d) {
for (int e=d; e <= 16; ++e) {
for (int f=e; f <= 16; ++f) {
for (int g=f; g <= 16; ++g) {
for (int h=g; h <= 16; ++h) {
for (int j=h; j <= 16; ++j) {
if (a+b+c+d+e+f+g+h+j != 45) continue;
if (a*a + b*b + c*c + d*d + e*e + f*f + g*g + h*h + j*j != 285) continue;
printf("%d %d %d %d %d %d %d %d %d\n", a,b,c,d,e,f,g,h,j);
}
}
}
}
}
}
}
}
}
}
Este programa tarda seis décimas de segundo en ejecutarse en mi MacBook Pro y encuentra 80 soluciones distintas:
-2 4 6 6 6 6 6 6 7
-2 5 5 5 6 6 6 7 7
-1 2 5 6 6 6 7 7 7
-1 2 6 6 6 6 6 6 8
-1 3 4 5 6 6 7 7 8
-1 3 5 5 5 6 6 8 8
-1 3 5 5 6 6 6 6 9
-1 4 4 4 5 7 7 7 8
-1 4 4 4 6 6 6 8 8
-1 4 4 5 5 5 7 8 8
-1 4 4 5 5 6 6 7 9
0 1 4 6 6 7 7 7 7
0 1 5 5 6 6 7 7 8
0 2 3 5 6 7 7 7 8
0 2 3 6 6 6 6 8 8
0 2 4 4 6 6 7 8 8
0 2 4 5 5 6 7 7 9
0 2 5 5 5 5 6 8 9
0 3 3 4 5 7 7 8 8
0 3 3 4 6 6 7 7 9
0 3 3 5 5 5 8 8 8
0 3 3 5 5 6 6 8 9
0 3 4 4 4 6 8 8 8
0 3 4 4 4 7 7 7 9
0 3 4 4 5 5 7 8 9
0 3 4 4 6 6 6 6 10
0 3 4 5 5 5 6 7 10
0 4 4 4 4 6 6 7 10
0 4 4 4 5 5 5 9 9
1 1 3 5 6 6 7 8 8
1 1 3 6 6 6 6 7 9
1 1 4 4 5 7 7 8 8
1 1 4 4 6 6 7 7 9
1 1 4 5 5 5 8 8 8
1 1 4 5 5 6 6 8 9
1 1 5 5 5 6 6 6 10
1 2 2 4 7 7 7 7 8
1 2 2 5 5 7 7 8 8
1 2 2 5 6 6 7 7 9
1 2 3 3 6 7 7 8 8
1 2 3 4 5 6 7 8 9
1 2 3 5 5 6 6 7 10
1 2 4 4 5 5 6 9 9
1 2 4 4 5 5 7 7 10
1 2 4 5 5 5 5 8 10
1 3 3 3 4 7 8 8 8
1 3 3 3 6 6 6 7 10
1 3 3 4 4 5 8 8 9
1 3 3 4 4 6 6 9 9
1 3 3 4 4 6 7 7 10
1 3 3 4 5 5 6 8 10
1 3 4 4 4 4 7 9 9
1 3 4 4 5 5 6 6 11
1 4 4 4 4 5 5 7 11
2 2 2 3 6 6 8 8 8
2 2 2 3 6 7 7 7 9
2 2 2 4 4 7 8 8 8
2 2 2 4 6 6 6 7 10
2 2 2 5 5 5 6 9 9
2 2 2 5 5 5 7 7 10
2 2 3 3 4 7 7 8 9
2 2 3 3 5 5 8 8 9
2 2 3 3 5 6 6 9 9
2 2 3 3 5 6 7 7 10
2 2 3 4 4 5 7 9 9
2 2 3 4 4 6 6 8 10
2 2 3 5 5 5 6 6 11
2 2 4 4 4 4 7 8 10
2 2 4 4 4 6 6 6 11
2 2 4 4 5 5 5 7 11
2 3 3 3 3 6 8 8 9
2 3 3 3 4 5 7 8 10
2 3 3 3 5 6 6 6 11
2 3 3 4 4 5 5 9 10
2 3 3 4 4 5 6 7 11
2 4 4 4 4 4 4 8 11
3 3 3 3 4 4 6 9 10
3 3 3 4 4 4 5 8 11
3 3 4 4 4 5 5 5 12
3 4 4 4 4 4 4 6 12
Por salida extendida te refieres a números enteros, ¿verdad?
De lo contrario las ecuaciones y tener solución real ver aquí .
Qbik
ross milikan