Hi all, I just started learning computer languages and Im having an extremely difficult time understanding it all. I need to write a function which gives the next power of three after input n. Logical Function next_power_three(n) Integer::n,p if (n<1) then next_power_three=.false. return endif p=1 do while (.not. p>n) if (n==p) then next_power_three=.true. p=p+1 return Else p=3*p endif enddo next_power_three=.false. endfunction program test_next_power_three integer:: is_power_of_three print *,'02 ->', next_power_three(2) print *,'03 ->', next_power_three(3) print *,'28 ->',next_power_three(28) endprogram This is what I have, but i cant see where i went wrong. Any help would be greatly appreciated.