To solve this you need to ask yourself 2 questions:
1) How could the position change so that Black can draw? White must try and avoid this.
2) How could the position change so that Black can no longer protect his pawn(s)?
1) Suppose White just pushes g5. Then Black can never be forced away from the defence of f7. Either the white king will move between e7 and e8 when the black king can just move between g7 and g8 (opposition doesn't matter) or white king will come to f6 when the black king can just oscillate between g8 and f8 and white can make no progress. White must avoid this.
Also if the f pawns end up on f7 (black) and f6 (white) and black can stop white's king getting to e7 then white will not be able to make progress. For example white king on d6 black king on e8 black to move plays Kd8 taking the opposition preventing white progress. On this side black has the space to always keep the opposition. White must also avoid this.
2) If white can achieve a position with the f pawn ahead of the g pawn with the king advanced to the e file one square ahead of the f pawn then black can be continuously zugzwanged into undefending his back pawn and white will win. This is because the white f pawn takes away a square from the black king and stops it triangulating when the white king triangulates.
The same applies if the g pawns come off, the f pawns are locked and the white king reaches the same position.
Another possibility is if the white king can reach the eighth rank and get behind the black pawns because his pawns will be more advanced.
So, the way to start is with Kd5. The aim is to get the king to e7 and then push the f pawn to try and get it to f6.
If black responds with Kf6 then after Kd6 from white black is in zugzwang and we get in Ke7 next move. Then white just pushes the f pawn up to f6.
If black responds with Kf8 or Kg8 then white plays Kd6 and if black keeps his king on f8 and e8 keeping the white king out of e7 then white pushes the f pawn. If black exchanges then white can push up to f7 when black will be zugzwanged into allowing Ke7 when white will win. If black pushes his pawn to g5 then white must not push f6 immediately or black will gain the opposition and it will be a draw. Instead white should outflank the black king with Kc7 aiming for Kc8. Then white can gain the opposition and play f6 if black defends the eighth rank with Ke8. If black abandons the eighth rank with Kd6 then white moves along the eighth rank and takes the f pawn winning.
A cunning ploy by black would be to reply to Kd5 with Kh6 with the aim of f5 if white continues on with Kd6. Then either white swaps pawns and black gets the opposition or white pushes g5+ and black comes round the back with Kh5 and they take each others' back pawn and it is a draw. White must instead reply to Kh6 with Ke5. Then black must play Kg7 to stop the white king coming in to f6. Now white plays Kd6 and we are back to plan A.
So, the problem relies very heavily on zugzwanging black in positions where the advanced white f pawn takes away a key square from the black king and also the idea that once the white f pawn is advanced if black abandons the eighth rank then white takes it and wins the black f pawn and will queen well before black.