Calculating Full Price/Dirty Price !

I am following the Schweser notes in which it looks like they have two methods to calculate the full price.

The Question:

A 5% bond makes coupon payments on june 15 and Dec 15 and is trading with a YTM of 4%. The bond is purchased and will settle on August 21 when there will be four coupons remaining until maturity. Calculate the full price of the bond using actual days.

The Answer

The first is simple where they calculate the PV and add the accrued interest to that day to it. Days between June 15 to Aug 21 is 67 days and the days between coupon payments is 183. So the value of the bond would be PV + (PMT*(67/183)). I understand the logic in this.

The second is where they take the PV and add it to (1+YTM)^(67/183). I might be overlooking some thing but could someone explain the logic of this method of using YTM.

I am also interested is there calculator shortcut for clean/dirty price calculation on BA II Plus?