For achieving this you will have to cheat SharePoint OOB forms using jQuery (or javascript).  

 1. Add the fields in your list and mark them non-mendatory.
 2. Update the NewForm.aspx to include a jQuery script to hide the non-mandatory fields. .
 3. Update the EditForm.aspx page to include another jQuery script that will check your field values and have custom logic for making the fields as mandatory.

Some References:

 - [Manipulate EditForm.aspx fields][2]

 - [Hide Fields from New Form][1]

  [1]: https://sharepoint.stackexchange.com/questions/77986/hide-some-fields-in-the-newform-aspx-for-a-custom-list
  [2]: https://stackoverflow.com/questions/22609281/cant-manipulate-inputs-in-editform-aspx-with-jquery