
    h                         SS jr S rg)   c                 r    U R                  5       n U R                  XU-   5      nUR                  5       nX0-
  $ )a5  
Takes as input a polynomial expression and the variable used to construct
it and returns the difference between function's value when the input is
incremented to 1 and the original function value. If you want an increment
other than one supply it as a third argument.

Examples
========

>>> from sympy.abc import x, y, z
>>> from sympy.series.kauers import finite_diff
>>> finite_diff(x**2, x)
2*x + 1
>>> finite_diff(y**3 + 2*y**2 + 3*y + 4, y)
3*y**2 + 7*y + 6
>>> finite_diff(x**2 + 3*x + 8, x, 2)
4*x + 10
>>> finite_diff(z**3 + 8*z, z, 3)
9*z**2 + 27*z + 51
)expandsubs)
expressionvariable	incrementexpression2s       K/var/www/html/shao/venv/lib/python3.13/site-packages/sympy/series/kauers.pyfinite_diffr      s<    * ""$J//(y,@AK$$&K##    c                 z    U R                   nU R                   H  nUR                  US   US   S-   5      nM      U$ )ae  
Takes as input a Sum instance and returns the difference between the sum
with the upper index incremented by 1 and the original sum. For example,
if S(n) is a sum, then finite_diff_kauers will return S(n + 1) - S(n).

Examples
========

>>> from sympy.series.kauers import finite_diff_kauers
>>> from sympy import Sum
>>> from sympy.abc import x, y, m, n, k
>>> finite_diff_kauers(Sum(k, (k, 1, n)))
n + 1
>>> finite_diff_kauers(Sum(1/k, (k, 1, n)))
1/(n + 1)
>>> finite_diff_kauers(Sum((x*y**2), (x, 1, n), (y, 1, m)))
(m + 1)**2*(n + 1)
>>> finite_diff_kauers(Sum((x*y), (x, 1, m), (y, 1, n)))
(m + 1)*(n + 1)
    r   )functionlimitsr   )sumr   ls      r
   finite_diff_kauersr      s<    * ||HZZ==1qvz2 Or   N)r   )r   r    r   r
   <module>r      s   $4r   