It's well-known that many grad schools (especially top-ranked) require some research experience from prospective students and consider this as main criterion for accept/reject decision.
During undergraduate study I was working on my research (hadn't finished it - had solved just one particular case) - but can't say it was great research. Now I work as software developer in subdivision of national Academy of Science. My position requires only coding, no problem solving (there's no projects here requiring any fundamential research).
How can I make any research (better related to my field of interests) without being undergrad or MS student, without working in lab. Can I simply choose interesting problem (e.g. my undegrad problem), work hard to solve it and then refer to that in research statement? Who should write letter of recommendation in this case? Or I must have any advisor (who can verify my results and then write recommendation letter for me)? Can it be unofficial advisor (just researcher I know well)?