Warning: BACKUP please - before anything -
I think you might need another hard disk to do this operation.
First install this partimage (in linux)
http://www.partimage.org in another machine and USB connect you 40 GB hard disk on that. Backup each partition correctly. Dont use any image more that 2GB if you have FAT. Remember the size of partitions correctly/EXACTLY.
Now remove 40GB and connect 80GB disk. First create same size partitions (as in 40 GB)with QTPARTED in 80 GB disk. This is because partimage CAN restore to large size but then the extra space CANNOT be used. Now launch "partimage" and restore your partitons. Then, you must install GRUB to MBR in your new hard disk. You can do this by booting with SUSE CD 1 in rescue mode/reinstall GRUB.
Boot to win/linux to make sure everything is OK.
Now reboot with sysrescueCD
http://www.sysresccd.org/ or knoppix or partition magic and try to resize partitions.
BACKUP please - before anything -