Fast Dynamic Programming