Could be a number of things, software (system error or malware) or hardware.
For a start:
Have you tried f8 and into safe mode?
Have you got another computer to burn a disc to?
If so it might be worth burning a boot cd to run some tests.
http://www.hiren.info/pages/bootcdHave you cleaned the inside of the PC out at all?
How old is the PC?
If you can get into windows try a program called OCCT, its a program that allows you to stress test your PC's CPU or GPU. It also reports the temps while its testing, its a good way to see if anything is overheating.