I've been down voted for something I though that could be done. In fact, it is not only that could be done but also that R solves very fast:
z <- paste(
sapply(1:6, function(i,n=6) {
require(MASS)
h <- fractions(1/(n+1))
a <- paste('x',i,sep='')
b <- paste('+.5*',h,'*(1-',i,'*',h,')*(',sep='')
cc <- paste(sapply(1:i,function(j) paste(j,'*',h,'*(',paste('x',j,sep=''),'+',j,'*',h,'+1)^3',sep='')),collapse='+')
d <- paste(a,b,cc,')')
e <- if (i < 6) paste('+.5*',h,'*(',i,'*',h,')*(',sep='') else ''
f <- if (i < 6) paste(sapply((i+1):n,function(j) paste('(1-',j,'*',h,')*(',paste('x',j,sep=''),'+',j,'*',h,'+1)^3',sep='')),collapse='+') else ''
g <- paste(e,f,ifelse(i!=6,')',""))
paste('(',d,g,')^2',sep='')
}
),
collapse='+')
deriv(parse(text=z),c('x1','x2','x3','x4','x5','x6'))