I'd suggest, try to think of a program you always wanted but no one has ever made, or made well enough. Your hobbies might also be a good source of ideas.
For instance, I have an interest in music, but have never found any MIDI software for Windows that I really like, so that's something I might attempt eventually.
And, I've been sort of wanting to start a blog, but I'd rather use something less database-driven than WordPress to keep my web host happy, and I also would prefer a blog which doesn't list everything in reverse-chronological order, and makes it easy to browse past posts, and doesn't tamper with any HTML code I input - so, I've been working on my own blog software.
I also have thought of less realistic ideas...

I'm not completely satisfied with any computer OS I've ever used - Windows, MacOS, or Linux, they all have something about them I can't stand, either being closed-source and not easily changeable by me, or being too confusing. I know it's probably beyond me to write an OS, but someday, I might get around to trying it.
I keep text files of ideas on my computer, and whenever I think of an idea, big or small (not just for programs, but for anything I might like to create, or see someone else create), I note it down. Whenever I read back in these files I am frequently surprised by the ideas I came up with - there are a ton of ideas I most likely would have forgotten all about if I hadn't written them down.
I write down everything from the grandiose (write my own OS), to small but nice feature ideas (like to have a text cursor conveniently automatically appear in a web text box when you first load a web page - which isn't a totally original idea, since that's what Google does...

).
The latter kinds of ideas may sound minor, but actually, little thoughtful details like that are what can make a program a real pleasure to use. And, since they're so minor, I think it's especially important to write them down so you don't forget to implement them.
Over time, you can build up a mountain of ideas, perhaps more than you'll ever get through in a lifetime. I'm probably going to end up starting a whole Ideas section on my website just to share the ideas I've thought of but will probably never implement myself.
Good luck...
