Quick answer - no, you can't make this work without some hardware changes.
I certainly hope you're not connecting your PICs to 15 volts. They're only rated for 3.6 volts.
Your MOSFET is not an IRL734. It might be an IRF734. In which case, I don't see how you're getting any output at all from the LEDs. What you want to do is connect the top of the LED chain to +12, and the bottom to a resistor. The other end of the resistor goes to the drain of the MOSFET, and the source goes to ground. If you know the operating current and voltage of the LEDs (and I hope you do), then the value of R is
R = (12 - (3 x Vf)) / i, where i is in amps.
Your driver would work (very briefly) if the PIC output were 12 volts, but it's not. I say briefly, because in very short order at least one of the LEDs would burn out. That's why you need a current limiting resistor.
Even with these changes, the circuit may not work well. The problem is that the PIC runs off 3.6 volts (max), while the threshold voltage for an IRF734 is two to four volts. And besides, the IRF734 is a 450 volt MOSFET, which is way overkill.
Given your obvious errors in circuit description (PIC voltage and MOSFET model), I suggest you go back to your source and provide a more complete (and accurate) description.
For what it's worth, 780 Hz is about 10 times faster than you need, but it ought to work just fine.
Contrary to initial intuition, it's actually to increase the brightness.
LEDs can be driven at a constant current, or they can be driven with a pulsed current.
With constant current you have to limit the current to a relatively low value - for instance many common small LEDs are limited to a constant current of say 20mA. That gives good brightness for indication purposes, but it's not that great.
LEDs, when driven with pulsed current, can be driven with a considerably higher current - maybe 5 to 10 times as much, or even more. That could be say 100mA for what would normally be a 20mA LED. However, there are restrictions on what the pulses can be - typically with limits on the frequency and duty cycle - maybe as little as 1% duty.
The end result is that the higher current increases the perceived brightness of the LEDs, since more photons are being emitted when they are on, but at the cost of some flicker, which is only really noticed when the LEDs are in motion.
A research group at Ehime University developed a pulse drive control method to make LEDs look twice as bright by leveraging the properties of how people perceive brightness.
The group was led by Masafumi Jinno, an associate professor of Dept of Electrical and Electronic Engineering at Graduate School of Science and Engineering of Ehime University.
When a short-cycle pulse voltage with a frequency of approximately 60Hz is applied to an LED at a duty ratio of about 5%, the LED looks about twice brighter [sic] to human eyes than that driven by a direct voltage, the research group said.
- Nikkei Technology - Human Perception Studied to Double LED Brightness
So you get more perceived brightness from smaller and cheaper LEDs without using more current (often less current) on average than if they were on constant.
The report above goes on to explain the effect in more detail:
There are two principles, the Broca-Sulzer effect and the Talbot-Plateau effect, involved in how human eyes perceive brightness. The Broca-Sulzer effect refers to a phenomenon in which light looks several times brighter to the eye than it actually is when exposed to a spark of light, such as a camera flash.
In addition, the Talbot-Plateau effect is a principle where human eyes repeatedly see flashes and sense the average brightness of the repeated lights. Thus far, "it has been believed that, due to the Talbot-Plateau effect, the brightness perceived by human eyes would not change even if an LED is pulse driven," Jinno said.
"The Talbot-Plateau effect is a principle found in the days when fluorescent mercury lamps and other light sources driven by a power supply with a longer voltage cycle of about several hundred milliseconds were used," Jinno said.
Thus, the group decided to drive the LEDs using a power supply with a shorter voltage cycle of about several hundred microseconds. As a result, the group discovered that, when a pulse voltage with a frequency of approximately 60Hz is applied at a duty ratio of about 5%, the impact by the Broca-Sulzer effect becomes greater than that of the Talbot-Plateau effect so that the light emitted from the LED looks brighter to human eyes.
Best Answer
No schematic or code so this answer is a little generic, though the same question can be encountered with completely different code and schematic.
As John U. suggested, see if you can increase the PWM frequency or possibly use a different algorithm. This stackoverflow post suggests an approach. Trade-offs can be made between levels of brightness and period.
If this doesn't reduce the flicker enough, try adding an RC filter between the PWM output and the MOSFET gate to smooth the waveform.