### The Maxima on-line user's manual

Algebra Calculator

#### Funcsolve

Function: funcsolve (<eqn>, <g>(<t>)) Returns `[<g>(<t>) = ...]` or `[]`, depending on whether or not there exists a rational function `<g>(<t>)` satisfying <eqn>, which must be a first order, linear polynomial in (for this case) `<g>(<t>)` and `<g>(<t>+1)`

```          (%i1) eqn: (n + 1)*f(n) - (n + 3)*f(n + 1)/(n + 1) =
(n - 1)/(n + 2);
(n + 3) f(n + 1)   n - 1
(%o1)        (n + 1) f(n) - ---------------- = -----
n + 1         n + 2
(%i2) funcsolve (eqn, f(n));```

Dependent equations eliminated: (4 3) n

`          (%o2)                f(n) = ---------------`
`                                      (n + 1) (n + 2)`

Warning: this is a very rudimentary implementation - many safety checks and obvious generalizations are missing.

```(%o1)                                true
(%i2) ```

### Related Examples

##### funcsolve

funcsolve(f(n+m)=f(n)...

Calculate

##### funcsolve

funcsolve(f(n+1)=f(n)...

Calculate

##### funcsolve

eq1:ds*(ta-t)+r*t*ln(...

eq2:k1+k2/t-ln(w)=0;

funcsolve(eq1,ln(w));

Calculate

##### funcsolve

eq1:ds*(ta-t)+r*t*ln(...

eq2:ln(w)=k1+k2/t;

funcsolve(eq1,ln(w));

Calculate

##### funcsolve

eq1:ds*(ta-t)+r*t*ln(...

eq2:k1+k2/t-ln(w)=0;

funcsolve(eq2,ln(w));

Calculate

##### funcsolve

t=const;

eq1:ds*(ta-t)+r*t*ln(...

eq2:k1+k2/t-ln(w)=0;

Calculate

##### funcsolve

eq1:ds*(ta-t)+r*t*ln(...

eq2:k1+k2/t-ln(w)=0;

funcsolve(eq2,ln(w));

Calculate

##### funcsolve

eqn: (n + 1)*f(n) - (...

funcsolve (eqn, f(n));

Calculate

##### funcsolve

eq1:ds*(ta-t)+r*t*ln(...

eq2:ln(w)=k1+k2/t;

funcsolve(eq1,ln(w));

Calculate

##### funcsolve

funcsolve(f(n+m)=f(n)...

Calculate