I would like to use RSolve (or some other method) to solve the following functional equation:

  {f[x, y] == 
     (y - x*y)/((1 - y + x*y)*(1 + x*y)) + 
       (1/(1 - y + x*y)^2)*f[1/x, x*y/(1 - y + x*y)]}, 
  f, {x, y}]

Is Mathematica able to perform this task or is it hopeless?

The actual command above gives me the error message:

conarg: The arguments should be ordered consistently

I happen to know that

$\qquad f(x,y) = \frac{2}{y} \frac{(2xy+1)y + \sqrt{1-2(2xy+1)y+y^2}-1}{1-(2xy+1)^2}$

f[x_, y_] := (2/y) ((2 x y + 1) y + Sqrt[1 - 2 (2 x y + 1) y + y^2] - 1)/
    (1 - (2 x y + 1)^2)

is a solution. I would be extremely happy if Mathematica could find it, so I can try another similar equation.

Edit: I do not have enough points to leave comments so I do it here instead. In this particular case I was able to conjecture the solution since I could compute the first few coefficients of the sought generating function by hand.
This in turn gave me a hit in OEIS. From here it was easy to go backwards and verify that the generating function proposed by OEIS satisfies the recursion. I don't know of any method by which one can directly obtain the generating function from the recursive definition. My hope was that the problem could be solved by algorithmic techniques known to Mathematica. According to the manual it has the capability to solve equations such as

RSolve[a[n] == Sqrt[n] a[Sqrt[n]] + n, a, n]

which is not too far away from what I am trying to do. I have demonstrated that a solution to the problem exists mathematically. The question is therefore if Mathematica has methods for solving it.

@bbgodfrey - the recursion arises from a combinatorial situation and it is possible to determine the first few coefficients (of the terms $x^ny^m$) in the solution by enumerating all possible objects from the combinatorial definition. My question is however purely about whether the functional equation at hand can be solved (and not about the specifics of my mathematical problem). I understand that it can be difficult to know what goes on "under the hood" and why some equations can be solved as opposed to others (this may have nothing to do with the humanly perceived difficulty of the equation). A first step at least would be to get the call syntactically correct (if at all possible) so one can find out if the call terminates.

The forum gave me a new user name when I signed up (in the hope of being able to comment). I will look into if I can merge my accounts.

  • 2
    $\begingroup$ Every successful use of RSolve that I have seen solves f[x+1,y+1]==expression in f[x,y], not in terms of complicated g and h in f[g[x],h[y]]. Rarely people have had some success differentiating f and then seeing if this is something that DSolve can crack. You might try much simpler examples using that method and see if you can understand how to do that before you try it on your full problem. $\endgroup$ – Bill Dec 19 '16 at 23:47
  • $\begingroup$ If you have a conceptual approach to solving this problem, it almost certainly can be implemented in Mathematica to provide a solution. However, Mathematica only embodies known techniques. I cannot in general solve problems to no person can solve. By the way, your expression for f solves the equation only for certain ranges of x and y, for instance (1 + (-1 + x) y) > 0. $\endgroup$ – bbgodfrey Dec 19 '16 at 23:57
  • 1
    $\begingroup$ RSolve is totally inappropriate for your problem. It does not accept arguments in the form you have given them. $\endgroup$ – m_goldberg Dec 20 '16 at 0:23
  • 1
    $\begingroup$ I suggest that this problem be reposed in Mathematics to ask whether the equation can be solved, even in principle. $\endgroup$ – bbgodfrey Dec 20 '16 at 0:29
  • 7
    $\begingroup$ I'm voting to close this question as off-topic because the issue it raises is not a Mathematica issue but a mathematics issue. That it is formulated in terms of Mathematica is not sufficient to make it an appropriate question for Mathematica.SE. $\endgroup$ – m_goldberg Dec 20 '16 at 0:30