CJam (59 bytes)
{[WZ~C24X8TT]f*[4XGYC6 4Y].+_0=!>2%Z65135Zb+:(3/.f#:.*)W*+}
Este es un bloque anónimo (función) que toma un número entero o doble en la pila y produce una matriz con tres dobles. Tiene dos casos internos para manejar todas las entradas no negativas, ya que con solo un caso se rompería en cualquiera 0.25
o 4
. Todavía se rompe para las entradas -12
y -1.3333333333333333
, pero la especificación permite que ...
La demostración en línea lo ejecuta y luego suma los valores, imprime los cuatro y los multiplica para mostrar que obtiene el valor original (error de redondeo del módulo).
Antecedentes matemáticos
w = - x - y- zx + y+ z+ w = 0- x yzw = ax yzw + a = 0
Elkies ofrece cuatro familias de conjuntos de soluciones. Euler:
Xyzw====6 a s t3( a t4 4- 2 s4 4)2( 4 a t4 4+ s4 4) ( 2 a2t8+ 10 a s4 4t4 4- s8)3 s5 5( 4 a t4 4+ s4 4)22 t ( a t4 4- 2 s4 4) ( 2 a2t8+ 10 a s4 4t4 4- s8)2 ( 2 a2t8+ 10 a s4 4t4 4- s8)3 s3t ( 4 a t4 4+ s4 4)- ( 2 a2t8+ 10 a s4 4t4 4- s8)6 s3t ( a t4 4- 2 s4 4)
Uno relacionado con Euler:
Xyzw====( 8 s8+ a2) ( 8 s8- 88 a s4 4- un2)12 s3( s4 4- a ) ( 8 s8+ 20 a s4 4- un2)( 8 s8+ a2) ( 8 s8- 88 a s4 4- un2)12 s3( 8 s4 4+ a ) ( 8 s8+ 20 a s4 4- un2)192 a s5 5( s4 4- a )2( 8 s4 4+ a )2( 8 s8+ a2) ( 8 s8- 88 a s4 4- un2) ( 8 s8+ 20 a s4 4- un2)- 3 s ( 8 s8+ 20 a s4 4- un2)34 ( s4 4- a ) ( 8 s4 4+ a ) ( 8 s8+ a2) ( 8 s8- 88 a s4 4- un2)
Una más simple:
Xyzw====( s4 4- 4 a )22 s3( s4 4+ 12 a )2 a ( 3 s4 4+ 4 a )2s3( s4 4- 4 a ) ( s4 4+ 12 a )s5 5+ 12 a s2 ( 3 s4 4+ 4 a )- 2 s5 5( s4 4+ 12 a )( s4 4- 4 a ) ( 3 s4 4+ 4 a )
Y uno relacionado con ese:
Xyzw====s5 5( s4 4- 3 a )32 ( s4 4+ a ) ( s12+ 12 a s8- 3 a2s4 4+ 2 a3)s12+ 12 a s8- 3 a2s4 4+ 2 a32 s3( s4 4- 3 a ) ( 3 s4 4- a )2 a ( s4 4+ a )2( 3 s4 4- a )2s3( s4 4- 3 a ) ( s12+ 12 a s8- 3 a2s4 4+ 2 a3)- 2 s ( s12+ 12 a s8- 3 a2s4 4+ 2 a3)( s4 4- 3 a ) ( s4 4+ a ) ( 3 s4 4- a )
p s4 4- qunapagsqunaunas = 1s = 2