Program : The executable file residing on disk .
Process : The program in execution .
now the difference is the things the program have while in execution , these things are allotted by operating system to that program . So Progam + data structures = Process . now , what are these data structures they are , data section , heap section , stack section. The executable file residing on the drives of disk just forms the code section of process. please note that the information about data section , heap section and stack (info such that how much memory should be allotted ) is present inside executable file .
In other differences process have PCB program doesn't, process have physical address space program doesn't.