public void Append(MultiPrecision <N> new_value)
            {
                if (values.Length <= 0)
                {
                    values = new MultiPrecision <N>[] { new_value };
                    return;
                }

                MultiPrecision <N>[] values_next = new MultiPrecision <N> [values.Length + 1];

                values_next[0] = new_value;

                for (int i = 1; i <= values.Length; i++)
                {
                    values_next[i] = values_next[i - 1] + (values_next[i - 1] - values[i - 1]) * R(i);
                }

                Epsilon = MultiPrecision <N> .Abs(values_next.Last() - values.Last());

                values = values_next;
            }