¿Cómo funciona este truco de secuencia numérica? Lo descubrí por accidente y me mantiene despierto por la noche sin saber por qué funciona.

Buena pregunta. No sé la respuesta completa, pero aquí hay una parcial:

Puede probar que funciona para, digamos, cuatro números (o más si es paciente) conectando estos valores en el polinomio y calculando cuántas copias de cada coeficiente obtiene.

Por ejemplo, si comienza con tres números, su polinomio es [matemático] Ax ^ 2 + Bx + C [/ matemático] y el número en la parte inferior de su triángulo es f (2) -2 * f (1) + f (0) = 4A + 2B + C – (2A + 2B + 2C) + C = 2A, entonces para obtener [matemática] A [/ matemática] divida el número en la parte inferior del triángulo por [matemática] 2 [/ matemática ] El mismo argumento es válido a medida que aumenta el número de números iniciales, aunque los cálculos son más tediosos.

En general, obtienes [math] \ sum_ {k = 1} ^ n \ binom {n} {k} k ^ n (-1) ^ {nk} [/ math] copias del coeficiente inicial en la parte inferior del triángulo; esta suma es igual a [math] n! [/ math], aunque no sé por qué. Obtiene sumas similares para el resto de los coeficientes, y son idénticamente [matemáticas] 0 [/ matemáticas], pero de nuevo, no tengo una prueba de este hecho.

Lo primero que debe hacer es considerar el polinomio de enésimo grado
[matemáticas] P_n (x) = \ frac {x (x-1) * (x-2) \ cdots (x- (n-1))} {n!} [/ matemáticas]
(¡esto puede recordarle un coeficiente binomial!) Es conveniente, y correcto, definir también [matemáticas] P_0 (x) = 1 [/ matemáticas]

[matemática] P_n (x) = 0 [/ matemática] para x = 0,1,2,3,…, n-1 y [matemática] P_n (n) = 1 [/ matemática]. Entonces, la variedad de diferencias finitas para este polinomio tiene como fila superior
0 0 0 0… 0 1 (n ceros, seguido de 1 1)
y la fila de abajo que tiene n-1 ceros seguidos de un 1,
y así …

la diagonal que obtienes al tomar el primer elemento de cada fila (comenzando desde la parte superior y trabajando hacia abajo) también es n ceros seguidos de un 1.

entonces (en reversa), si comienzas con una diagonal de n ceros seguida de un 1, el polinomio que representa es [matemática] P_n (x) [/ matemática]

La otra cosa a notar es que si comienzas con cualquiera de estas dos secuencias de
números (con las filas de diferencias debajo de ellos) y agregue los términos correspondientes juntos, las filas de diferencias TAMBIÉN se agregan término por término. Y si multiplica cada término de dicha secuencia por el mismo número real, todas las filas de diferencias se multiplican por el mismo número. Entonces, si usamos, su ejemplo original de una secuencia: -3 2 -13 -72

y multipliqué cada término por -4 para obtener: 12, -8, 52, 288
las filas resultantes de diferencias sucesivas
12 -8 52 288
-20 60 236
80 176
96

son solo -4 veces las que comenzaste
Y, si tomo una secuencia diferente, como 1, 4, 9, 16 que tiene diferencias
1 4 9 16
3 5 7
2 2
0 0
y agréguelo a su secuencia original -3, 2, -13, -72
término por término para obtener
-2, 6, -4 -56

las filas de diferencias resultantes son solo las sumas de los términos correspondientes en cada fila de las dos matrices de diferencias separadas.
-2 6 -4 -56
8-10-52 (estos términos provienen de la suma de términos en -5, 15, -13 y 3,5,7)
-18-42 (suma de los términos correspondientes de -20, -44 y 2 2)
-24 (-24 + 0)

Pon todo esto junto: cualquier secuencia donde la diagonal más a la izquierda es
todos los 0s excepto el enésimo término es el número [math] a_n [/ math] debe representar el polinomio de enésimo grado [math] a_n P_n (x) [/ math]

y cualquier secuencia donde la diagonal más a la izquierda (de arriba hacia abajo) son los números [math] a_0, a_1, a_2, \ ldots, a_n [/ math] debe representar el polinomio de enésimo grado
[matemáticas] a_0 P_0 (x) + a_1 P_1 (x) + \ ldots + a_n P_n (x) [/ matemáticas]

En realidad, esto va un poco más allá de lo que mencionó, ya que le brinda una forma de conocer inmediatamente el polinomio algebraicamente. Entonces, por ejemplo, tu secuencia
-3 2 -13 -72 tiene esa diagonal más a la izquierda de -3, 5, -20, -24 por lo que DEBE ser el polinomio
[matemáticas] -3 P_0 (x) + 5 P_1 (x) – 20 P_2 (x) – 24P_3 (x) [/ matemáticas]
es decir,
[matemáticas] -3 \ cdot 1 + 5 \ frac {x} {1!} – 20 \ frac {x (x-1)} {2!} – 24 \ frac {x (x-1) (x-2 )} {3!} [/ Matemáticas]
Si lo desea, puede simplificar esto, pero es suficiente tener en cuenta que ES un polinomio de tercer grado, y si conecta [matemática] x = 0 [/ matemática] obtendrá -3, si conecta [matemática ] x = 1 [/ math] obtendrá -3 + 5 = 2, si conecta [math] x = 2 [/ math] obtendrá -3 + 2 \ cdot 5 – 20 = -13 y si conecte [math] x = 3 [/ math] obtendrá -3 + 3 \ cdot 5 – 20 \ cdot 3 – 24 = -72.

La razón es muy simple si conoce diferencias finitas que son similares al cálculo diferencial pero para números discretos.

La diferencia finita se puede definir como f (x + 1) -f (x) (esta es una introducción simple, pero la wiki a continuación tiene muchos más detalles)

Si tiene un polinomio de grado (n), entonces la diferencia finita será un polinomio de grado (n-1) y la segunda diferencia será de grado (n-2) y la enésima diferencia será una constante.

Ejemplo de grado 1: ax + b
diferencia finita: (a (x + 1) + b) – (ax + b) = a

Ejemplo de grado 2: ax2 + bx + c
diferencia finita: (a (x + 1) (x + 1) + b (x + 1) + c) – (ax2 + bx + c) = 2ax + a + b
segunda diferencia finita = (2a (x + 1) + a + b) – (2a (x) + a + b) = 2a

En su caso, comenzó con 4 números, por lo que el grado es casi 3 y la tercera diferencia es constante.

Esta única tabla de diferencias es suficiente para evaluar el coeficiente de orden más alto (x cubos) de la última fila y usando este coeficiente podemos usar la última fila pero una para evaluar el coeficiente de segundo orden más alto (x cuadrado) y así sucesivamente. En su método, está calculando las tablas una y otra vez, pero la primera tabla es suficiente.

Referencia adicional http://en.wikipedia.org/wiki/Finite_difference :
La wiki incluso tiene un ejemplo de cómo encontrar una forma polinómica para algunos términos de la serie Fibonacci.

Es porque estás determinando la enésima derivada de un polinomio de grado n usando diferencias. La enésima derivada es una constante, por eso funciona el método del triángulo. Cuando integra una constante n veces, obtiene k / n! x ^ n.

He usado este método durante mucho tiempo para encontrar polinomios, en realidad me lo mencionó por primera vez mi maestro de matemáticas de la escuela secundaria.

No tengo tiempo para probar esto por completo, pero aquí hay un buen comienzo para ver por qué funciona el método anterior. Queremos que -3, 2, -13, -72 sean los primeros cuatro valores de algunos cubos [matemáticos] Ax ^ 3 + Bx ^ 2 + Cx + D [/ matemáticos]. Al conectar 0,1,2 y 3 para x, vemos que los coeficientes son la solución de la ecuación matricial

El | 0 0 0 1 | El | A | = | -3 |
El | 1 1 1 1 | El | B | = | +2 |
El | 8 4 2 1 | El | C | = | -13 |
El | 27 9 3 1 | El | D | = | -72 |

Ahora queremos usar la reducción de filas para resolver D. Podemos hacerlo usando los trucos exactos que muestra en el triángulo. Primero, encuentre las diferencias sucesivas, es decir, reste cada línea por la que está arriba. Esto produce

El | 0 0 0 1 | El | A | = | -3 |
El | 1 1 1 0 | El | B | = | +5 |
El | 7 3 1 0 | El | C | = | -15 |
El | 19 5 1 0 | El | D | = | -59 |

Repita esto nuevamente para las dos últimas líneas para obtener

El | 0 0 0 1 | El | A | = | -3 |
El | 1 1 1 0 | El | B | = | +5 |
El | 6 2 0 0 | El | C | = | -20 |
El | 12 2 0 0 | El | D | = | -44 |

y entonces

El | 0 0 0 1 | El | A | = | -3 |
El | 1 1 1 0 | El | B | = | +5 |
El | 6 2 0 0 | El | C | = | -20 |
El | 6 0 0 0 | El | D | = | -24 |

La última línea dice que 6A = -24 o A = -4.

Editar: Estoy completando esto refiriéndome a la respuesta de Jonathan Paulson y al comentario de Mark Gordon. En esta reducción de fila, 3 de las entradas en la fila final se convirtieron en 0 y 1 se convirtió en 6 = 3 !. Etiquetemos las columnas de 0 a la derecha con n a la izquierda y las filas de 0 en la parte superior a n en la parte inferior. Entonces, los elementos de la columna m son de arriba hacia abajo [matemática] 0 ^ m, 1 ^ m, 2 ^ m, \ ldots, n ^ m [/ matemática], y en general el elemento en la fila i y la columna j es [ matemáticas] i ^ j [/ matemáticas]. Entonces, ¿cuáles son las diferencias sucesivas debido a los elementos de la última fila? El elemento en la columna m se convierte (ver la respuesta de Jonathan)

[matemáticas] \ sum_ {k = 0} ^ n \ binom {n} {k} A_ {km} (-1) ^ {nk} [/ matemáticas]

porque si escribe todas las reducciones de fila como 1 paso, la fila n se agrega una vez, la fila (n-1) se resta n veces, etc. Esto se puede probar de forma recursiva, en la línea de las respuestas de Jonathan y Ward Denker. Pero como [math] A_ {km} = k ^ m [/ math], esta fila de matriz reducida es (vea el comentario de Mark)

[matemáticas] \ sum_ {k = 1} ^ n \ binom {n} {k} k ^ m (-1) ^ {nk} [/ matemáticas]

que es igual a n! cuando m = ny 0 para todos los demás valores permitidos de m (0

Entonces, la reducción de filas produce una ecuación lineal para el coeficiente principal f, es decir, [matemática] n! f = X [/ math] donde X es la última entrada del vector serie después de las reducciones de fila.

Estás generando el triángulo de Pascal con tus diferencias. Míralo con variables, contando lo que encuentras al final en el orden en que te encuentras con cada variable:

un
1a
-> 1 (fila 1)

a, b
licenciado en Letras
1b-1a
-> 1-1 (fila 2)

a B C
ba, cb
cbba
1c-2b-1a
-> 1-2-1 (fila 3)

a B C D
ba, cb, dc
cbba, dccb
dccbcbba
1d-3c-3b-1a
-> 1-3-3-1 (fila 4)

a B C D
ba, cb, dc, ed
cbba, dccb, eddc
dccbcbba, eddccb
eddcdccbdccbcbba

1e-4d-6c-4b-1a
-> 1-4-6-4-1 (fila 5)

Hasta el hastío…

Si las diferencias se distribuyen correctamente, realmente sale al triángulo de Pascal para [matemáticas] (x-1) ^ n [/ matemáticas] ya que los signos se alternan a través del triángulo y se conoce el segundo término.

Creo que fue toda la idea detrás del motor de diferencia de Babbage (no su motor analítico), y todo se explica aquí: diferencia finita