Java's Random function takes a seed and produces the a sequence of 'psuedo-random' numbers.
(It is implemented based on some algorithm discussed in `Donald Knuth, The Art of Computer Programming, Volume 3, Section 3.2.1.)`, but the article is too technical for me to understand)

Is there an inverse function of it?
That is, given a sequence of numbers, would it be possible to mathematically determine what the seed would be?
(, which means, brute-forcing doesn't count as a valid method)

[Edit]
There seems to be quite a number of comments here... I thought I'd clarify what I am looking for.

So for instance, the function `y = f(x) = 3x` has an inverse function, which is `y = g(x) = x/3`.

But the function `z = f(x, y) = x * y` does not have an inverse function, because (I could give a full mathematical proof here, but I don't want to sidetrack my main question), intuitively speaking, there are more than one pair of `(x, y)` such that `(x * y) == z`.

Now back to my question, if you say the function is not inversible, please explain why. 

(And I am hoping to get answers from those who have really read to article and understand it. Answers like "It's just not possible" aren't really helping)