Go to FILE>NEW>BLANK DOCUMENT. Make an 8x10" document. In the layers pallet, choose a new layer which will be transparent. Discard the background layer.
Open the gradient tool and choose the "transparent rainbow"(second from the last in the flyout option). Choose the first configuration which is to the left of "edit" in the options bar.
Drag a small vertical line.
Use the marquee tool to select 1/4 of the circle. Go to EDIT>COPY>PASTE. Discard the whole circle layer.
Go to FILTERS>BLUR>GAUSSIAN BLUR to blur the rainbow.
Use the move tool to drag the rainbow to another photo. Resize the rainbow and move it to the correct spot in the picture. Use the opacity slider in the layers pallet to make it more natural looking.
The pot of gold is up to you.
oops... I Googled "rainbow images" and found that rainbows are yellow on the outside and purple on the inside. I did just the opposite. The way to correct this is to drag your small vertical line "up" rather than down. (as shown in the 3rd step of this tutorial) Do as I say, not as I do. (OMG, I'm turning into my mother)