GNU libc uses the following pseudo-random number generator: $$(\mathit{state} \times 1,103,515,245) + 12,345 \pmod {2^{31}}$$ where state is the result of the previous call to the generator.
My questions are:
What are PRNGs using this algorithm - possibly using different numerical constants - called?
Assume that this generator has the maximum possible period. What is its period?
Given the result of a call to this PRNG, show how to obtain the result of the previous call symbolically?
For the last question it is not required to perform any numerical calculation.
This question was in my cryptology final-exam and I could not solve it and could not find the answer in internet, slides or books. I am really curious about the answers. I would appreciate if someone explain it to me.