|If you in fact have no more room to install programs to D partition, then you have three choices. The simple solution is to install your programs on the C partition, which you must have plenty of room. The second choice is to go to Disk Management in Windows 7 and make one or more additional partitions, using some, or all of the unallocated space. After creating an additional partition you then format it.|
Now you come to the third choice. You can use the third or subsequent partitions just as they are, or you can now use the tools built into Windows 7 to shrink the new partition (E) and add the space to D. Hope that isn't too confusing.
To back up to the sizes of the existing partitions. Those sizes are ideal, in my opinion. The problem is you have them reversed. C should have been 20GB and D 500GB. Now, you will never use up the free space in C if you don't install stuff there.
If you didn't make the two existing partitions someone else obviously helped you. Get them to help sort this out if what I explained above doesn't make sense.