Question: How are random numbers generated.? How do languages such as java etc generate random numbers, especially how it is done for GUIDs.? i found that algorithms like Pseudorandomnumber generator uses initial values. 

But i need to create a random number program, in which a number once occurred should never repeats even if the system is restarted etc. I thought that i need to store the values anywhere so that i can check if the number repeats or not, but it will be too complex when the list goes beyond limits.?

Answer: 
There are a lot of ways you could generate random numbers. It's usually done with a system/library call which uses a pseudo-number generator with a seed as you've already described.

But, there are other ways of getting random numbers which involve specialized hardware to get TRUE random numbers. I know of some [poker sites](http://www.ultimatebet.net/help/random) that use this kind of hardware. It's very interesting to read how they do it.
You could use this code sample:
<http://xkcd.com/221/>
Or, you can use this book:
[http://www.amazon.com/Million-Random-Digits-Normal-Deviates/dp/0833030477](https://rads.stackoverflow.com/amzn/click/com/0833030477)

But seriously, don't implement it yourself, use an existing library. You can't be the first person to do this.