The following function $\operatorname{encode}$ is a binary, bijective function: $$\operatorname{encode}(x,y) := \binom{x+y+1}{2} + x = z$$
This function comes up in the context of theoretical computer science in order to prove that LOOP-computable functions are primitive recursive. Because it is bijective, the function can be used to encode two numbers inside one.
Now given this function, what are the two inverse functions that decode a given $z$ into $x$ and $y$?
$$\operatorname{decode}_x(z) := \; ? \\ \operatorname{decode}_y(z) := \; ?$$
Do explicit forms of these function even exist? I can calculate the inverse of the function with respect to $x$ or $y$ individually, but these functions always depend on $z$ and the other parameter:
$$\operatorname{decode}_x(z, y) := \frac{1}{2} \left( \pm \sqrt{8z + 8y + 9} - 2y -3 \right) \\ \operatorname{decode}_y(z, x) := \frac{1}{2} \left( \pm \sqrt{8z - 8x + 1} - 2x - 1 \right) $$